Tag: xunit.net

xUnit.net:全局设置+拆卸?

这个问题是关于unit testing框架xUnit.net 。 我需要在执行任何testing之前运行一些代码,并且在完成所有testing之后还要执行一些代码。 我认为应该有某种属性或标记接口来表示全局初始化和终止代码,但找不到它们。 或者,如果我以编程方式调用xUnit,我也可以通过以下代码实现我想要的function: static void Main() { try { MyGlobalSetup(); RunAllTests(); // What goes into this method? } finally { MyGlobalTeardown(); } } 任何人都可以提供一个关于如何声明或以编程方式运行一些全局设置/拆卸代码的提示吗?

xUnit.net – 在ALLtesting前后运行代码

TL; DR – 我正在寻找xUnit相当于MSTest的AssemblyInitialize (也就是我喜欢的ONEfunction)。 具体而言,我正在寻找它,因为我有一些selenium烟雾testing,我希望能够运行没有其他的依赖。 我有一个Fixture,将为我启动IisExpress并在处置时将其杀死。 但是在每次testing之前这样做会极大地增加运行时间。 我想在testing开始时触发一次该代码,并在最后处置它(closures进程)。 我怎么能这样做? 即使我可以通过编程访问诸如“目前正在运行多lesstesting”之类的东西,我也可以想出一些东西。

xUnit:断言两个List <T>是否相等?

嗨,我是TDD和xUnit的新手,所以我想testing我的方法是这样的: List<T> DeleteElements<T>(this List<T> a, List<T> b); 当然这不是真正的方法:)是否有任何Assert方法,我可以使用? 我觉得这样的事情会很好 List<int> values = new List<int>() { 1, 2, 3 }; List<int> expected = new List<int>() { 1 }; List<int> actual = values.DeleteElements(new List<int>() { 2, 3 }); Assert.Exact(expected, actual); 有这样的事吗?

在类似于NUnit的xUnit.net中testing参数化

有没有类似于NUnit的以下function的xUnit.net框架中的任何手段? [Test, TestCaseSource("CurrencySamples")] public void Format_Currency(decimal value, string expected){} static object[][] CurrencySamples = new object[][] { new object[]{ 0m, "0,00"}, new object[]{ 0.0004m, "0,00"}, new object[]{ 5m, "5,00"}, new object[]{ 5.1m, "5,10"}, new object[]{ 5.12m, "5,12"}, new object[]{ 5.1234m, "5,12"}, new object[]{ 5.1250m, "5,13"}, // round new object[]{ 5.1299m, "5,13"}, // round } 这将在NUnit GUI中生成8个单独的testing […]

Assert.Fail()被认为是不好的做法?

在进行TDD时,我使用Assert.Fail很多。 我通常每次都在做一个testing,但是当我想了解我想要实现的东西时,我很快写了一个空testing,其中testing方法的名称表明了我想要实现的一个todo-list。 为了确保我不会忘记我在正文中放置了一个Assert.Fail()。 当试用xUnit.Net时,我发现他们没有实现Assert.Fail。 当然你总是可以Assert.IsTrue(false),但是这并不能传达我的意图。 我得到了印象Assert.Fail不是故意实现的。 这被认为是不好的做法? 如果是这样的话 @马丁梅雷迪思这不完全是我做的。 我首先写一个testing,然后实现代码来使其工作。 通常我会同时考虑多个testing。 或者当我正在做其他事情时,我会考虑写一个testing。 那就是当我写一个空的失败testing来记住。 当我开始写testing的时候,我整齐地testing了一下。 @Jimmeh这看起来像个好主意。 忽略的testing不会失败,但仍然显示在一个单独的列表中。 必须尝试一下。 @Matt Howells伟大的想法。 NotImplementedException比assert.Fail()更好地传递意图 @米奇麦这是我正在寻找。 它似乎被排除在外,以防止滥用另一种方式虐待它。

使用返回随机结果的函数进行unit testing

我不认为这是特定于一种语言或框架,但我使用xUnit.net和C#。 我有一个函数,返回一定范围内的随机date。 我通过一个date,返回date总是在给定date之前的1到40年的范围内。 现在我只是想知道是否有一个很好的方法来unit testing。 最好的方法似乎是创build一个循环,并让该函数运行100次,并断言这100个结果中的每一个都在期望的范围内,这是我目前的方法。 我也意识到,除非我能够控制我的随机生成器,否则将不会有一个完美的解决scheme(毕竟,结果是随机的),但我不知道当你必须testing返回随机结果的function一定范围?

为什么xUnit Runner没有find我的testing

我有一个xUnit.nettesting如下: static class MyTestClass { [Fact] static void MyTestMethod() { } } VS 2012的xUnit插件说: 没有testing发现运行。 TestDriven.net运行的很好, 但提到了Ad hoc的一些东西 : 1通过,0失败,0跳过(见“任务列表”),花了0.47秒(Ad hoc) TeamCity, xunit.gui.exe和xunit.console.exe以及Visual Studio也找不到TestMethod (我已经安装了xunit.runner.visualstudio ,VS正在看一些testing。) 是什么赋予了?

NUnit vs. MbUnit与MSTest vs. xUnit.net

.NET中有相当多的unit testing框架。 我发现这个小function比较: http : //xunit.github.io/docs/comparisons.html 现在我要为我们select最好的一个。 但是,如何? 有关系吗? 哪一个是最有前途的证据,并有一个体面的动力呢? 我应该关心这些function吗? 虽然xUnit似乎是最现代化的,专门为.NETdevise的,NUnit似乎再次被广泛接受。 MSTest再次已经集成到Visual Studio中…