读取在 OneTimeSetup 方法中触发执行的 nunit 测试列表的任何可能性

Any possibility to read the list of nunit tests triggered for execution in OneTimeSetup method

提问人:Leo Danny 提问时间:10/31/2023 更新时间:10/31/2023 访问量:51

问:

我需要阅读OneTimeSetup方法中将要执行的测试列表。例如,我有一个包含 5 个测试的测试类,我将只运行两个测试,而当涉及到 OneTimeSetup 时,我只需要两个测试名称。根据列表,我将执行特定于项目的行动。

提前致谢

C# nunit

评论

0赞 Narish 10/31/2023
这可以通过反射来实现,但为什么你不想运行所有的单元测试呢?所有测试都应该隔离,以便它们可以在不影响它们之后运行的测试的情况下运行,这意味着您应该能够在一次运行中运行所有单元测试
0赞 Leo Danny 10/31/2023
这适用于 UI 自动化测试。在执行先决条件步骤后,我们需要等待很长时间。因此,我们不是在 SetUp 方法中执行测试先决条件,而是找到一种方法来执行 OneTimeSetup 中所有测试的先决条件。而且我们可能不要求每次都执行所有测试。
0赞 Leo Danny 11/2/2023
我能够使用反射获得所有测试。找到计划执行的唯一测试的任何帮助对我有帮助吗?
0赞 Narish 11/2/2023
我假设您使用了 Type.GetMethods() 方法,这意味着您现在有一个数组。您可以使用 或 Linq 从中获取特定的 MethodInfo 对象。但遗憾的是,我不知道如何根据外部/ENV 因素设置要运行的测试的动态顺序。我知道如何手动触发测试的唯一方法是使用 IDE 的 GUI 工具运行单个或一组测试。该命令将运行整个测试项目MethodInfo[]Array.Find<T>().Where()dotnet test
0赞 Leo Danny 11/6/2023
我能够使用从命令行传递的类别以编程方式过滤测试,并且我正在使用 nunit 控制台运行器。我阅读了从命令传递的类别,并将其与具有很少逻辑循环的测试所提到的类别进行了比较。

答: 暂无答案