首页 > 解决方案 > 有没有办法在运行时获得有序测试?

问题描述

我有一批可以启动许多有序测试。

在运行时执行期间,我需要获取正在运行的当前有序测试的名称。

我知道如何使用 TestContext 类获取当前正在运行的测试信息,但它只给我在有序测试中的测试,而不是有序测试本身。

那么,有没有办法获取当前有序的运行测试信息呢?

编辑:推动对这个问题的进一步研究,我注意到即使 StackTrace 也没有给出调用自己测试的有序测试的名称。

因此,通过“StackFrame(1).GetMethod().Name”,我得到了任何不是有序测试的父方法的名称。当父方法是有序测试时,我只得到一个通用名称“InvokeMethod”......

这么奇怪。

标签: c#coded-ui-testsordered-test

解决方案


BenDev,你的问题好运吗?我知道我参加聚会有点晚了。我自己没有尝试过,所以没有保证。

你可以让你的批处理文件写一个xml文件。在该 xml 文件中,您放置了批处理文件接下来将调用的有序测试。比您通过反序列化测试代码中的文件来使您的测试可以访问它。每个测试都可以从该文件中读取数据并将数据转换为简单的 POCO 类。

为了完整起见,我添加了一些可能有用的资源。

从批处理文件写入 xml: https ://superuser.com/questions/601861/create-an-xml-file-batch

在 C# 中解析 xml 文件: https ://www.dotnetperls.com/xmlreader


推荐阅读