Tag: nunit 2.5

为什么我的测试在一起运行时失败,但是单独传递?

当我在Visual Studio中编写测试时,我通过在Nunit中保存,构建然后运行测试来检查它是否正常工作(右键单击测试然后运行)。 测试工作正常…所以我继续…… 现在我已经编写了另一个测试,它可以像我上面保存和测试一样工作。 但是,当它们一起运行时,它们不起作用。 以下是我的两个测试,这些测试在作为个体运行时有效但在一起运行时失败: using System; using NUnit.Framework; using OpenQA.Selenium.Support.UI; using OpenQA.Selenium; namespace Fixtures.Users.Page1 { [TestFixture] public class AdminNavigateToPage1 : SeleniumTestBase { [Test] public void AdminNavigateToPage1() { NavigateTo().LogonAsCustomerAdministrator(); NavigateTo(); var headerelement = Driver.FindElement(By.ClassName(“header”)); Assert.That(headerelement.Text, Is.EqualTo(“Page Title”)); Assert.That(Driver.Url, Is.EqualTo(“http://localhost/Page Title”)); } [Test] public void AdminNavigateToPage1ViaMenu() { NavigateTo().LogonAsCustomerAdministrator(); Driver.FindElement(By.Id(“menuitem1”)).Click(); Driver.FindElement(By.Id(“submenuitem4”)).Click(); var headerelement = Driver.FindElement(By.ClassName(“header”)); Assert.That(headerelement.Text, […]

NUnit中的数据驱动测试?

在MSTest中,您可以执行以下操作: [TestMethod] [DataSource(“Microsoft.VisualStudio.TestTools.DataSource.CSV”, “testdata.csv”, “testdata#csv”, DataAccessMethod.Sequential)] public void TestSomething() { double column1 = Convert.ToDouble(TestContext.DataRow[“column1”]); … Assert.AreEqual(…); } NUnit 2.5中的等效代码是什么?

使用NUnit尽早初始化log4Net

我想知道在NUnit项目中初始化log4Net的最佳方法是什么。 当然我想尽快调用init代码(即XmlConfigurator.Configure() )来获取尽可能多的早期日志输出。 但由于我的项目是通过NUnit运行的,因此我对其入口点几乎无法控制。 根据NUnit文档,它应首先调用一些构造函数,然后在标有[TestFixtureSetup]的类中使用[TestFixtureSetup] [SetUp]属性标记的方法。 所以,首先,我创建了一个静态助手类,我可以多次调用它而不会出现问题。 public static class LoggingFacility { private static bool _loggerIsUp = false; public static void InitLogger() { if (_loggerIsUp == false) XmlConfigurator.ConfigureAndWatch(f); _loggerIsUp = true; } } 然后,我使所有[TestFixtureSetup]inheritance了一个除了调用LoggingFacility.initLogger()之外几乎没有的东西。 但是,这仍然会使所有早期运行的构造函数按照我只能随机假设的顺序运行。 而且,在我甚至无法执行某些代码之前,它可能会进行一些静态初始化。 事实上,正如我在日志中看到的那样,执行的前4秒左右完全没有记录。 这是否意味着我必须在每个构造函数中调用我的InitLogger()并禁止使用任何静态初始化程序? 那是艰苦的工作! 有人知道这个魔术吗?