Questions tagged «nunit»

NUnit是使用C#编写的.NET和Silverlight的开源单元测试框架。它的作用与Java世界中的JUnit或TestNG相同,并且是xUnit系列中的许多目的之一。

7
NUnit与MbUnit与MSTest与xUnit.net
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 .NET有很多单元测试框架。我发现了这个小的功能比较:http : //xunit.github.io/docs/comparisons.html 现在,我要为我们选择最佳的。但是如何?有关系吗?哪一个是最有前途的证据,并且其发展势头良好?我应该关心这些功能吗?虽然xUnit似乎是最现代的并且是专门为.NET设计的,但NUnit似乎再次被广泛接受。MSTest再次已经集成到Visual Studio中...

7
Moq第一次和第二次返回值不同
我有一个像这样的测试: [TestCase("~/page/myaction")] public void Page_With_Custom_Action(string path) { // Arrange var pathData = new Mock<IPathData>(); var pageModel = new Mock<IPageModel>(); var repository = new Mock<IPageRepository>(); var mapper = new Mock<IControllerMapper>(); var container = new Mock<IContainer>(); container.Setup(x => x.GetInstance<IPageRepository>()).Returns(repository.Object); repository.Setup(x => x.GetPageByUrl<IPageModel>(path)).Returns(() => pageModel.Object); pathData.Setup(x => x.Action).Returns("myaction"); pathData.Setup(x => x.Controller).Returns("page"); var resolver …
262 c#  unit-testing  nunit  moq 

19
NUnit与Visual Studio 2008的单元测试测试项目?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我将要在工作中启动一个新项目,并想进入单元测试。我们将使用VS 2008,C#和ASP.NET MVC。我正在考虑使用NUnit或VS2008具有的内置测试项目,但是我愿意研究其他建议。一个系统是否比另一个系统好,或者比另一个系统更易于使用/理解?我希望将这个项目设置为“最佳实践”,以进行我们的开发工作。 感谢您的帮助和建议!

7
如何使用Assert.Throws声明异常的类型?
我如何使用Assert.Throws断言的类型和实际的消息措辞。 像这样: Assert.Throws<Exception>( ()=>user.MakeUserActive()).WithMessage("Actual exception message") 我正在测试的方法会抛出具有不同消息的相同类型的多个消息,并且我需要一种方法来测试是否根据上下文抛出正确的消息。

5
使用Moq验证特定参数
public void SubmitMessagesToQueue_OneMessage_SubmitSuccessfully() { var messageServiceClientMock = new Mock<IMessageServiceClient>(); var queueableMessage = CreateSingleQueueableMessage(); var message = queueableMessage[0]; var xml = QueueableMessageAsXml(queueableMessage); messageServiceClientMock.Setup(proxy => proxy.SubmitMessage(xml)).Verifiable(); //messageServiceClientMock.Setup(proxy => proxy.SubmitMessage(It.IsAny<XmlElement>())).Verifiable(); var serviceProxyFactoryStub = new Mock<IMessageServiceClientFactory>(); serviceProxyFactoryStub.Setup(proxyFactory => proxyFactory.CreateProxy()).Returns(essageServiceClientMock.Object); var loggerStub = new Mock<ILogger>(); var client = new MessageClient(serviceProxyFactoryStub.Object, loggerStub.Object); client.SubmitMessagesToQueue(new List<IMessageRequestDTO> {message}); //messageServiceClientMock.Verify(proxy …
168 c#  unit-testing  nunit  moq 

8
如何找到活动的app.config文件的路径?
我正在尝试完成此异常处理程序: if (ConfigurationManager.ConnectionStrings["ConnectionString"]==null) { string pathOfActiveConfigFile = ...? throw new ConfigurationErrorsException( "You either forgot to set the connection string, or " + "you're using a unit test framework that looks for "+ "the config file in strange places, update this file : " + pathOfActiveConfigFile); } 这个问题似乎仅在我使用nUnit时发生。


3
测试资源管理器(VS)显示“ <未知项目>”
使用.NET Framework 4.7和NUnit + NUnit3TestAdapter在VS2019中进行以下所有操作 我创建了一个名为Exitus.Tests的程序集,并添加了一些单元测试。但是,针对我无法解决的Nuget的某些问题,我创建了另一个名为Exitus.UnitTests的项目,并删除了旧项目中包含的一次文件(包括更改名称空间)。 现在,新的测试项目在资源管理器中正确显示了op,但是旧项目的“幽灵”仍然存在: 如果我尝试运行测试,则输出窗口将显示以下错误: System.InvalidOperationException:在Microsoft.VisualStudio.TestWindow.Client.TestContainer.TestContainerProvider上找不到以下TestContainer'C:\ Users \ xxx \ Source \ Repositories \ Expire \ Exitus.Tests \ bin \ Debug \ Exitus.Tests.dll' .d__46.MoveNext()---从上一个引发异常的位置开始的堆栈跟踪---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) )在Microsoft.VisualStudio.TestWindow.Controller.TestContainerConfigurationQueryByTestsBase.d__6.MoveNext()(...) 堆栈跟踪的时间更长,但奇怪的是第二行,指出它在找不到测试容器\Exitus.Tests\bin\Debug\Exitus.Tests.dll。这是旧测试项目的名称,我已删除并删除了该项目。我已经在整个项目中搜索了该词Exitus.Tests,但没有任何结果。 无论如何,是否有必要强制删除此“鬼”项目?
157 c#  visual-studio  nunit 


22
安装了测试适配器的Test Explorer中未显示NUnit单元测试
想要改善这篇文章吗?提供此问题的详细答案,包括引文和正确答案的解释。答案不够详细的答案可能会被编辑或删除。 我已经安装了适用于VS2012 + 2013的NUnit测试适配器。当我初次安装时,适配器测试正在显示,但是由于某些原因它们今天停止显示。构建,重建,清理,重新启动后,Test Explorer中什么都没有显示。为什么会这样呢?我正在使用VS2013 Ultimate。
145 nunit 

9
如何在MSTest中运行具有多个参数的测试方法?
NUnit具有一个称为“值”的功能,如下所示: [Test] public void MyTest( [Values(1,2,3)] int x, [Values("A","B")] string s) { // ... } 这意味着测试方法将运行6次: MyTest(1, "A") MyTest(1, "B") MyTest(2, "A") MyTest(2, "B") MyTest(3, "A") MyTest(3, "B") 我们现在正在使用MSTest,是否有与此等效的功能,以便可以使用多个参数运行相同的测试? [TestMethod] public void Mytest() { // ... }


20
比较NUnit中两个对象之间的相等性
我试图断言一个对象与另一个对象“相等”。 这些对象只是具有大量公共属性的类的实例。有一种简单的方法可以让NUnit根据属性声明相等性吗? 这是我目前的解决方案,但我认为可能会有更好的选择: Assert.AreEqual(LeftObject.Property1, RightObject.Property1) Assert.AreEqual(LeftObject.Property2, RightObject.Property2) Assert.AreEqual(LeftObject.Property3, RightObject.Property3) ... Assert.AreEqual(LeftObject.PropertyN, RightObject.PropertyN) 我要追求的是与CollectionEquivalentConstraint相同的精神,其中NUnit验证两个集合的内容相同。

5
'await'有效,但调用task.Result挂起/死锁
我有以下四个测试,运行时最后一个挂起。为什么会这样: [Test] public void CheckOnceResultTest() { Assert.IsTrue(CheckStatus().Result); } [Test] public async void CheckOnceAwaitTest() { Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceAwaitTest() { Assert.IsTrue(await CheckStatus()); Assert.IsTrue(await CheckStatus()); } [Test] public async void CheckStatusTwiceResultTest() { Assert.IsTrue(CheckStatus().Result); // This hangs Assert.IsTrue(await CheckStatus()); } private async Task&lt;bool&gt; CheckStatus() { var restClient = new …
126 c#  nunit  task  deadlock  async-await 

19
如何从Visual Studio以调试模式运行NUnit?
我最近一直在为我一直在努力的C#构建测试框架。我已经在工作区中设置了NUnit并创建了一个新项目来测试组件。如果我从Nunit(v2.4)加载单元测试,一切都很好,但是我已经意识到在调试模式下运行并设置一些断点确实很有用。 我尝试了一些指南中的建议,这些指南都建议更改测试项目的“ Debug”属性: Start external program: C:\Program Files\NUnit 2.4.8\bin\nunit-console.exe Command line arguments: /assembly: &lt;full-path-to-solution&gt;\TestDSP\bin\Debug\TestDSP.dll 我在那里使用的是控制台版本,但也尝试过调用GUI。尝试开始调试时,两者都给我相同的错误: Cannot start test project 'TestDSP' because the project does not contain any tests. 这是因为我通常将\ DSP.nunit加载到Nunit GUI中,并且是进行测试的地方吗? 我开始认为问题可能是VS想要运行它自己的测试框架,这就是为什么它找不到NUnit测试的原因? 编辑:对于那些询问测试装置的人,我在TestDSP项目中的.cs文件之一大致如下: namespace Some.TestNamespace { // Testing framework includes using NUnit.Framework; [TestFixture] public class FirFilterTest { [Test] public void …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.