我被告知VS2008中自动生成的测试可以通过添加
与NUnit兼容#if !NUNIT
using Microsoft.VisualStudio.TestTools.UnitTesting;
#else
using NUnit.Framework;
using TestClass = NUnit.Framework.TestFixtureAttribute;
using TestMethod = NUnit.Framework.TestAttribute;
using TestInitialize = NUnit.Framework.SetUpAttribute;
using TestCleanup = NUnit.Framework.TearDownAttribute;
using TestContext = System.String;
using DeploymentItem = NUnit.Framework.DescriptionAttribute;
#endif
编辑:由于我修复了参考问题,因此问题略有改变。再次,我被告知这个声明可以改为正确的单元测试程序VS或NUnit。
它永远不会进入else语句。所以新的问题是,我是否需要将条件更改为其他内容,或者我是否又遗漏了一些简单的内容?
答案 0 :(得分:2)
您是否引用了NUnit程序集来代替VS测试程序集?
答案 1 :(得分:0)
您是否尝试转换测试或在同一项目中同时运行NUnit和VS测试?如果你正在转换那么你应该能够使用find&替换以进行大部分更改。
我经历了从VS测试到NUnit的转换,发现了一个语法差异:IsInstanceOfType方法的参数顺序不同。
答案 2 :(得分:0)
在我忽略理查德向我指出的简单错误之后,我发现了该怎么做。
因为我在CC.NET中运行这些,所以我只是简单地为变量做了一些操作,并在cmd中设置了一个windows变量,然后使用nunit-console.exe运行了dll。
如果你真的不关心能否在VS2008和NUnit测试程序之间来回切换,你可以取出预编译代码,留下if for VS的内容和NUnit的else内容。 / p>