Resharper 7.1 版
Visual Studio 2012 终极版
两部分问题:
Q1:当我在解决方案资源管理器中选择“运行单元测试”时,resharper 会自动打开一个测试夹具运行器并执行所有测试夹具。但是,我将测试分为两类:1)“长时间运行”和 2)“短期运行”。有没有一种方法可以在执行这些步骤后让测试运行器仅执行“短运行”?
Q2:打开测试夹具运行程序后,我选择按“类别”分组。我看到我上面提到的两个类别。我右键单击“短期运行”并选择“运行测试”。预计只有“短时间运行”的测试会执行;但是,“长时间运行”和“短期运行”都会执行。有没有一种方法可以按类别执行,并且只执行该类别?
更新:这是我屏幕上显示的内容
首先:R#->选项->单元测试(常规选项卡)
第二:来自随机测试夹具的示例测试,显示用法。
第三:这是我在解决方案资源管理器中执行“运行单元测试”时看到的,也是我右键单击“短期运行”->“运行测试”时看到的(无论哪种情况,“长期运行” "也执行)
最佳答案
长时间运行的测试真的在运行吗?我知道这似乎是一个愚蠢的问题,但如果长时间和短期运行的测试共享一个测试夹具,它可能看起来像它们正在运行,如您发布的屏幕截图所示,但它只是运行的共享夹具,而不是实际的夹具测试。换句话说,测试夹具在结果树中得到一个节点,如果它被测试共享,它可以在树中出现多次。在 fixture 运行时,测试运行器不知道将要运行什么测试,因此将树中的所有 fixture 节点标记为正在运行,尽管只有共享 fixture 本身在运行。然后它将运行实际测试,并且只有运行的测试被标记为正在运行。
关于c# - resharper test runner - 如何按类别执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28785830/