我正在寻找一种使用MSTest编写程序化单元测试的方法。我希望能够循环遍历一系列配置数据,并根据信息动态创建测试。这些配置数据在编译时不可用,可能来自外部数据源,例如数据库或XML文件。场景:将配置数据加载到测试工具中,并在循环过程中为每个元素创建一个新的测试。希望每个动态创建的测试都可以单独报告(成功/失败)。
我正在寻找一种使用MSTest编写程序化单元测试的方法。我希望能够循环遍历一系列配置数据,并根据信息动态创建测试。这些配置数据在编译时不可用,可能来自外部数据源,例如数据库或XML文件。场景:将配置数据加载到测试工具中,并在循环过程中为每个元素创建一个新的测试。希望每个动态创建的测试都可以单独报告(成功/失败)。
您还可以将MSIL代码直接写入运行的应用程序中,并尝试让MS Test执行它,这对某些人来说可能很有趣,但这可能耗时且不一定能够保证成功(我没有尝试过,所以不知道其中的陷阱)。
基于此,可能更容易快速构建自己的测试套件,该套件将解释您的XML文件并动态构建出测试场景,并生成相同的结果文件。(毕竟结果才是重要的,而不是如何到达那里。)由于您说在编译时不可用,因此我猜测您不想在VS Studio窗口中查看结果。
其实,就我个人而言,我不会使用XML作为您的领域特定语言(DSL)。解析它很容易,因为.NET已经为您完成了这项工作,但它在定义方法如何运作方面有一定的限制。它是用于传达数据的,虽然技术上代码是一种数据形式,但它没有足够的表现力来传达更多正式语言中的能力。这只是我的个人意见,有很多方法可以达成目标。