我有一个.NET4.0C#解决方案,其中包含一个在NUnit下运行单元测试的测试项目。NUnit二进制文件是v3.5。我可以很好地运行测试,但我无法在VisualStudio中设置断点和单步执行。我猜这是由.NET版本不匹配引起的。有没有办法使用NUnitforv3.5单步执行v4.0测试程序集? 最佳答案 问题是,除非您另有说明,否则NUnit会在确定有必要时生成一个子进程来运行测试。如果你在Process Explorer观看,您可以看到“nunit-console.exe”*生成了“nunit-agent.exe”*。Visu
我对NUnit有疑问-想知道是否有人有任何想法。我们使用的是NUnit2.5.3.9345和C#3.5。采用以下代码:publicclassUnitTestBase{[TestFixtureSetUp]publicvoidSetUpTestFixture(){//Dosomethinginbase}}[TestFixture]publicclassSomeTestClass:UnitTestBase{[TestFixtureSetUp]publicvoidFixtureSetUp(){//Dosomethingintestclass}[Test]publicvoidSomeTest()
我有多个NUnit测试,我希望每个测试都使用特定的app.config文件。有没有办法在每次测试前将配置重置为新的配置文件? 最佳答案 尝试:/*Usage*using(AppConfig.Change("my.config")){*//dosomething...*}*/publicabstractclassAppConfig:IDisposable{publicstaticAppConfigChange(stringpath){returnnewChangeAppConfig(path);}publicabstractvoidD
我将有关给定测试的各种信息(多个错误跟踪系统的ID)存储在一个属性中,如下所示:[TestCaseVersion("001","B-8345","X543")]publicvoidTestSomethingOrOther()为了在测试过程中获取这些信息,我写了下面的代码:publicstringGetTestID(){StackTracest=newStackTrace(1);StackFramesf;for(inti=1;i().First();returntcv.TestID;}}}问题在于,在Release模式下通过NUnit运行测试时,应该具有测试名称和这些属性的方法被替换为以
我的测试代码中有这个断言Assert.That(()=>eventData.Count==0,Is.True.After(notificationPollingDelay),"Receivedunexpectedeventwithlasteventdata"+eventData.Last().Description());在一段时间后断言某些条件,失败时会产生一条消息。它无法运行,因为消息字符串是在断言开始时构造的,而不是在断言结束时构造的。因此eventData集合仍然是空的(因为它最初是空的)并且尝试获取集合中最后一项的Description失败。在NUnit中是否有解决方法或合适
我正在使用NUnit2.6.2+FluentAssertions2.0.1。我想断言两个引用不指向同一个对象实例。我找不到一种干净的方式来表达这一点。NUnit有Assert.ReferenceEquals(ref1,ref2)-但我找不到否定断言。在FluentAssertions中我找不到任何直接支持这种情况的东西。我能做到的唯一方法是这样的:NUnit:Assert.False(object.ReferenceEquals(ref1,ref2));流畅:object.ReferenceEquals(ref1,ref2).Should().BeFalse();就最小噪音而言,这两者
一些NUnit的断言方法被重载以使用ICollection但不是ICollection因此你不能使用它们。这附近有什么吗?哎呀,我是在做傻事吗?我不得不退回到使用Assert.AreEqual而不是专门的方法,它使我的测试变得丑陋。有什么建议吗?编辑:感谢您的回复。ThatNUnit的方法似乎很有趣,所以我稍后会研究它。Mark正确地提到了这一点,但是NUnitCollectionAsserts非常好。我最近在一些新测试中使用了它们,发现它们非常适合使用。 最佳答案 我不知道这是否是您要找的,但对于通用集合而不是使用:Assert.
我有VisualStudio2015。我想使用NuGet包管理器为C#项目添加NUnit测试,我希望有可能使用VisualStudio和在VisualStudio中运行测试。首先我创建新的C#项目:菜单文件→新建→项目→已安装→模板→视觉C#→控制台应用程序→OK。然后我安装NUnit:菜单工具→NuGet包管理器→管理解决方案的NuGet包...然后我安装包:N单位NUnit.RunnerNUnitTestAdapter在输出中我看到:Successfullyinstalled'NUnit3.0.0-beta-4'toTmp.Successfullyinstalled'NUnit.R
我安装了最新的NUnit(3.2.0),并且所有测试都并行运行。它可能看起来像是理想的行为,但我并没有要求它,实际上它破坏了我的一些测试。我在[OneTimeSetUp]中进行了一些依赖于线程的初始化,似乎我无法做任何事情来强制NUnit按顺序运行我的测试。我读过documentation它指出默认情况下测试不是并行运行的,但实际上它们是!此外,我尝试添加以下属性:[assembly:Parallelizable(ParallelScope.None)]—没有成功。有人知道如何改变这种行为吗?附言我使用ReSharper运行它,但也尝试使用MSVS插件。UPD:我正在使用MVVMLig
我有以下生成一组测试用例的方法!publicIEnumerablePrepareTestCases(param1){foreach(stringentryinentries){yieldreturncallMyMethod(param1);}}如何将字符串类型的参数作为参数传递给我的PrepareTestCases()方法?有没有办法做到以下几点:[Test,Category("Integration"),TestCaseSource("PrepareTestCases",param1)]publicvoidTestRun(ResultsOfCallMyMethodtestData){