gpt4 book ai didi

.net - 重定向程序集绑定(bind)是否适用于使用测试运行程序进行单元测试?

转载 作者:行者123 更新时间:2023-12-03 03:11:15 24 4
gpt4 key购买 nike

好的,这是我遇到的问题的完整描述:

我正在尝试使用NUnit ExtensionMethods但是每当我使用 TestDriven.Net 运行包含其中一种扩展方法的测试时,或者如果我只是尝试使用测试运行程序 GUI(Icarus 或 NUnit)加载程序集,我都会收到 FileNotFoundException。

用头撞墙并进一步挖掘,我想我知道出了什么问题。提示反射器,是的,我可以看到 NUnit.Framework>ExtensionMethods.dll 引用了

nunit.framework, Version=2.4.6.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77

我当前包含的 nunit 版本是

nunit.framework, Version=2.4.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77

现在我以前从未使用过程序集重定向,但看起来添加具有以下行的 App.Config 似乎是一个简单的问题:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity
name="nunit.framework.dll"
publicKeyToken="96d09a1eb7f44a77" />
<bindingRedirect oldVersion="2.4.6.0" newVersion="2.4.8.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

据我了解,对 2.4.6 版本( native 上不存在)的调用应自动重定向到 2.4.8 版本。

但这不起作用,我怀疑(但尚未证实)这是因为测试运行程序不会自动读取 app.config 文件。

所以我的问题如下:

  1. 我的诊断正确吗?有问题吗?

  2. 程序集重定向是 适当的解决方案,我正在做什么 对吗?

  3. 我如何让它与测试运行者?

最佳答案

如果您将配置设置放入正确的 .config 文件中,这应该可以工作。哪一个取决于您用来运行测试的环境,但 NUnit 和 TestDriven.NET 都应该支持使用 testassemble.dll.config。
至于这是合适的解决方案,我会说是的。唯一的其他可能性是使用发布者策略文件,但您需要用于编译 NUnit 的私钥。

关于.net - 重定向程序集绑定(bind)是否适用于使用测试运行程序进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/465754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com