Tag: nunit

NUnit – 是否可以在TearDown中检查测试是否成功?

我想让我的TearDown方法在应用某些逻辑之前检查先前的测试是否成功。 是否有捷径可寻?

如何进行unit testing以测试检查请求标头的方法?

我对unit testing非常非常新,我正在尝试为一个非常简单的方法编写测试: public class myClass : RequireHttpsAttribute { public override void OnAuthorization(AuthoizationContext filterContext) { var request = filterContext.HttpContext.Request; var header = Convert.ToBoolean(request.Headers[“Special-Header-Name”]); if (!(header || request.IsSecureConnection)) { HandleNonHttpsRequest(filterContext); } } } 此方法inheritance自RequireHttpsAttribute ,检查页面是否存在某个标头,如果它丢失或为false,并且页面不安全,则它将调用HandleNonHttpsRequest ,否则它不执行任何操作。 我们正在使用Moq和Nunit进行测试。 我找到了一些资源来帮助用Moq构建一个fakeHttpContext,但老实说我不知道​​如何使用它或在我的unit testing中去哪里以确保假HttpContexts是或不是导致HandleNonHttpsRequest方法调用。 我真的很感激这个问题的任何指导。

如何将样本(虚拟)数据添加到unit testing中?

在较大的项目中,我的unit testing通常需要一些“虚拟”(样本)数据来运行。 一些默认客户,用户等。我想知道你的设置是怎样的。 您如何组织/维护这些数据? 如何将其应用于您的unit testing(任何自动化工具)? 你真的需要测试数据还是认为它没用? 我目前的解决方案 我区分主数据和样本数据 ,其中前者在系统投入生产时可用(第一次安装),后者是我运行测试所需的典型用例(以及在开发期间播放)。 我将所有这些存储在一个Excel文件中(因为它很容易维护),其中每个工作表包含一个特定的实体(例如用户,客户等),并标记为主文件或样本。 我有2个测试用例,我(想念)使用它来导入必要的数据: InitForDevelopment(创建架构,导入主数据,导入样本数据) InitForProduction(创建架构,导入主数据)

使用nunit控制台传递测试用例参数

我正在使用Nunit和数据驱动的测试方法开发测试。 我有2个参数的测试方法:xlsx文件的路径和工作表名称。 当我在TestCase属性中传递参数时,它在Visual Studio中工作得很好,例如,当我想运行3个测试用例时,必须编写如下内容: [TestCase(@”pathToFile.xlsx”, “TestCase1″)] [TestCase(@”pathToFile.xlsx”, “TestCase2″)] [TestCase(@”pathToFile.xlsx”, “TestCase3”)] public void performActionsByWorksheet(string excelFilePath, string worksheetName) { //test code } 我想运行我的测试用例并使用Nunit Console传递参数(不要在代码中编写参数)。 有可能实现吗?

如何在Visual Studio 2010中调试Nunit测试

我在调试VisualStudio的NUnit测试时遇到问题。 我创建了一个空项目(控制台应用程序),然后我添加了对NUnit库的引用并编写了一个简单的测试。 namespace ReimplementingLinq.Tests { [TestFixture] public class WhereTest { [Test] public void SimpleFiltering() { int[] source = { 1, 2, 3, 4, 2, 8, 1 }; var result = source.Where(val => val < 4); int[] expected = {1,2,3,4}; CollectionAssert.AreEqual(expected, result); } } } 接下来我遵循此链接中给出的建议如何从Visual Studio以调试模式运行NUnit? 但是那个主题的解决方案都不适合我。 执行测试时,没有任何断点被击中。 我尝试通过附加到流程并使用带参数的外部程序运行项目来测试解决方案。 我该怎么做才能调试我的unit testing?

如何修复无法加载文件或程序集’nunit.engine,Version = 3.7.0.0

我有一个使用NUnit运行unit testing的单独测试项目的webappliction。 当我的测试项目试图发现测试时,我遇到以下exception: An exception occurred while test discoverer ‘NUnit3TestDiscoverer’ was loading tests. Exception: Could not load file or assembly ‘nunit.engine, Version=3.7.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb’ or one of its dependencies. The system cannot find the file specified. 这当然是一个非常常见的错误,但我无法在任何地方找到对此特定程序集的引用,或者其他依赖项实际导致该问题。 另一件事是我目前安装了3.9.0 NUnit而不是上面提到的3.7.0 。 我已经尝试清理和重建解决方案并恢复所有Nuget包并清除obj目录也没有帮助。

我可以暂时覆盖.NET应用程序中的DNS解析吗?

我有一些包装代码,它运行一组NUnit测试,扫描实时网站以获取某些响应代码。 我想针对不同的服务器运行这些测试。 手动运行时,我可以通过编辑Windows \ System32 \ drivers中的/ etc / hosts文件并暂时将www.mysite.com设置为10.0.0来执行此操作。 有什么方法可以在.NET控制台应用程序中做同样的事情 – 暂时覆盖DNS记录或以某种方式拦截分辨率并返回不同的IP地址? 编辑:这用于测试Web场中的多个服务器。 我有三个实时服务器,所有这些都认为它们是www.example.com。 因为服务器使用HTTP主机头,我不能只针对server1,然后是server2,然后是server3运行测试,因为对http:// server1 /的HTTP请求不会返回与http://请求相同的内容。 www.example.com/已经解决了server1 …

C#NUnit TestCaseSource传递参数

我有以下方法生成一组测试用例! public IEnumerable PrepareTestCases(param1) { foreach (string entry in entries) { yield return callMyMethod(param1); } } 如何将作为参数类型的param作为参数传递给PrepareTestCases()方法? 有没有办法做到以下几点: [Test, Category(“Integration”), TestCaseSource(“PrepareTestCases”, param1)] public void TestRun(ResultsOfCallMyMethod testData) { // do something! }

使用Moq,Silverlight和NUnit进行unit testing

我正在尝试对Silverlight 3项目进行unit testing。 我在用: Moq.Silverlight(3.0.308.2) NUnitSilverlight( http://www.jeff.wilcox.name/2009/01/nunit-and-silverlight/ ) 当我编写一个不使用Moq的测试时,它可以正常工作。 当我在测试之外使用Moq时,Moq可以正常工作。 (我嘲笑了一个界面并在按钮处理程序中进行了validation作为证据。) 但是当我运行使用Moq的unit testing时,我总是这样: System.IO.FileNotFoundException: Could not load file or assembly ‘System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e’ or one of its dependencies. The system cannot find the file specified. at Moq.ExpressionExtensions.ToStringFixVisitor..ctor(Expression expression) at Moq.Interceptor.AddCall(IProxyCall call, SetupKind kind) in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Interceptor.cs: line 104 at Moq.Mock.c__DisplayClassc`2.b__b() in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Mock.cs: line […]

VS 2010,NUNit和“断点目前不会被击中。 没有为此文档加载任何符号“

使用Windows 7 32位,VS 2010,.NET 4 DLL,NUnit(2.5.5)对应用程序进行unit testing。 我目前收到以下错误; 看到很多post并尝试了以下内容: 重启机器 重启VS. 删除bin / obj并重新加载 清洁/重建 但是我跑步时无法让NUnit达到我的断点。 我将NUNit测试项目设置为指向nunit.exe,并加载测试.NET 4 DLL,但是当我运行它时没有找到断点,“没有加载符号”。 我尝试了debug> windows> modules,当我运行它时,它甚至没有显示我的unit testing项目。 我找到了这个,使用nunit代理: http ://groups.google.com/group/nunit-discuss/browse_thread/thread/5680d7def5b6982f 但是当我使用nunit代理时,我也会收到错误。 我使用的是nunit-agent-x86.exe,但是我收到了一个system.formatexception,它崩溃了…… 有人可以帮忙吗? 谢谢。