我有一个批次可以启动许多有序测试。
在运行时执行期间,我需要获取当前正在运行的有序测试的名称。
我知道如何使用TestContext类获取当前运行的测试信息,但它只给我在有序测试中的测试,而不是有序测试本身。
那么,有没有办法获得当前有序的运行测试信息?
编辑: 关于这个问题的进一步研究,我注意到即使StackTrace也没有给出调用自己测试的有序测试的名称。
所以,使用" StackFrame(1).GetMethod()。Name"我得到的任何父方法的名称都不是有序测试。当父方法是有序测试时,我只获得通用名称" InvokeMethod" ...
太奇怪了。
答案 0 :(得分:0)
BenDev,您的问题有运气吗?我知道我参加聚会有点晚了。我自己没有尝试过,所以没有保证。
您可以让批处理文件写一个xml文件。在该xml文件中,您进行了有序的测试,然后您的批处理文件将被调用。通过在测试代码中反序列化文件,您可以使其可用于测试。每个测试都可以读取该文件,并将数据转换为简单的POCO类。
为完整起见,我添加了一些可能有用的资源。
从批处理文件写入xml: https://superuser.com/questions/601861/create-an-xml-file-batch
在C#中解析xml文件: https://www.dotnetperls.com/xmlreader