标签: ordered-test

C# 单元测试 - 使用 runsettings 文件进行有序测试

我正在尝试开发一个自动回归测试框架作为单元测试。所以我使用有序测试来组合不同的测试步骤,并以易于使用的方式组合它们。出于配置目的,我想使用runsettings文件,尤其是 TestRunParameters。这工作没有任何错误,但只有在单独执行每个测试时才有效。如果我使用orderedtest执行测试,TestContext我用来访问 TestRunParameters 的对象不再包含它们。我在直接测试方法的同时调试对象,同时也使用有序测试进行测试。在第一种情况下,对象具有所需的属性,但是当按照orderedtest 执行测试时,对象看起来完全不同。这两种类型的执行之间有什么主要区别吗?

不同的 TestContext 对象:

按单张测试画面
执行 按顺序测试画面执行

我得到的错误如下:

Ergebnis StackTrace:    at Regression.FileSystem.FileSystemTestInitializer(TestContext context) in \FileSystem.cs:line 18 
Ergebnis Meldung:   Class Initialization method Regression.FileSystemTestInitializer threw exception. System.NullReferenceException: System.NullReferenceException: Object reference not set to an instance of an object..
Run Code Online (Sandbox Code Playgroud)

我执行以测试和加载设置的代码如下:

 namespace Regression
{
    [TestClass]
    public class FileSystem
    {
        private static Logger logger = LogManager.GetCurrentClassLogger();
        private static Dictionary<String, String> runSettings = new Dictionary<String, String>();

        [ClassInitialize]
        public static void …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing ordered-test testcontext runsettings

5
推荐指数
0
解决办法
842
查看次数