C# 使用NUnit,我可以确定在当前运行的测试之前有哪些测试吗?
下面是我的场景——用C#编码,使用NUnit,我有以下测试:C# 使用NUnit,我可以确定在当前运行的测试之前有哪些测试吗?,c#,visual-studio,unit-testing,testing,nunit,C#,Visual Studio,Unit Testing,Testing,Nunit,下面是我的场景——用C#编码,使用NUnit,我有以下测试: 测试1 测试2 测试3 测试4 TestX 这些测试的前四个都是独立运行的,但是我需要TestX以稍微不同的方式运行。根据我刚才运行的测试,此测试需要以不同的方式运行 例如,如果我选择在一次运行中运行Test1、Test2和TestX,那么TestX将以一种方式运行,但如果我改为运行Test3、Test4和TestX,则其运行方式将有所不同。我希望有一种方法可以访问特定运行中使用的测试,并将其输入到switch语句中,从而相应地更
- 测试1
- 测试2
- 测试3
- 测试4
- TestX
我似乎无法从TestContext中访问这些信息,但我真的希望有另一种方法我还没有想到。任何帮助都将不胜感激-非常感谢。首先,我要说的是,亲爱的,你想做的是个坏主意 话虽如此,我能想到的唯一可靠方法是将TestX的行为建立在运行其他测试的一些可观察到的副作用的基础上。因此,如果所有测试都将数据添加到数据库中的表中,那么让TestX查看创建的数据,然后相应地进行操作。你不应该这样做 现在回到我认为你应该做的事情: 有几个TestX的变体,每个变体测试如果前面的每个测试都已运行,TestX应该做什么,即将建议的switch语句的每个部分放入一个单独的测试中,并让该测试的安排(或设置)执行与运行前面的测试相同的工作
这似乎需要更多的工作,但它将为您提供更好的可重复测试,我认为这将更易于维护。非常感谢-完美的答案!