【发布时间】:2020-06-04 03:10:24
【问题描述】:
我想知道是否有可能以某种方式在另一个功能测试中调用一个功能测试,并让父功能测试能够查看子测试是否通过? ...请注意,父测试和子测试位于不同的项目中,虽然我可以在项目的 CSPROJ 文件中引用子测试的项目以进行读取访问,但我无法修改子测试项目中的任何内容。
我想要的是这样的:
[TestClass]
public class ParentTests
{
[TestMethod]
public void Test_Parent()
{
var childTestPassed = RunAnotherTest(Test_Child);
if(childTestRunResult == true)
{
// do something
} else
{
// do something
}
}
}
...Test_Child 是我想在父测试中运行的子测试方法的名称。
我很清楚 这是 不是 推荐使用的测试方法,因为测试需要是无状态的、独立的、模块化的、结果一致的,但是我有一个非常棘手的场景,需要我做我上面所说的 - 有没有办法解决它。正如我所说,我无法控制子功能测试源代码,因此如果无法实现上述操作,那么我将不得不将子测试的整个代码复制粘贴到我的父测试中,而我没有我不想这样做,因为它很大并且涉及导入多个类、接口等,而且我没有该代码的工作知识。
如果您仍然想知道我为什么要问这个问题,请发表评论,我可以回答。
【问题讨论】:
-
谁投了反对票,你能解释一下你为什么这么做吗?
-
你试过你的代码了吗?它奏效了吗?没用吗?
-
我的代码是伪代码,仅用于说明目的.. 没有称为
RunAnotherTest的方法.. -
当然有 - 您刚刚将其命名为 Test_Child。这是另一个程序集中的方法。
标签: c# testing integration-testing mstest functional-testing