包含此页的版本:
不含此页的版本:
若要从代码运行测试,请调用Execute在 TestRunnerApi 上,并指定要使用 Filter 运行哪些测试。
以下示例在项目中运行所有播放模式测试:
var testRunnerApi = ScriptableObject.CreateInstance<TestRunnerApi>();
var filter = new Filter()
{
testMode = TestMode.PlayMode
};
testRunnerApi.Execute(new ExecutionSettings(filter));
您可以在Filterclass 创建更具体的过滤器。
许多字段允许多个值。当您为一个字段定义多个值时,测试运行程序测试框架包(以前称为测试运行程序)是一个 Unity 工具,可在编辑模式和播放模式下测试代码,也可以在目标平台(如独立、Android 或 iOS)上测试代码。更多信息
请参阅术语表运行与至少一个值匹配的任何测试。
以下示例使用与提供的两个名称之一匹配的全名运行测试:
var api = ScriptableObject.CreateInstance<TestRunnerApi>();
api.Execute(new ExecutionSettings(new Filter()
{
testNames = new[] {"MyTestClass.NameOfMyTest", "SpecificTestFixture.NameOfAnotherTest"}
}));
如果在筛选器上定义多个字段,则运行器仅运行与所有字段匹配的测试。
在此示例中,它运行指定程序集中的任何测试,其名称与两个指定的测试名称中的任何一个匹配。
var api = ScriptableObject.CreateInstance<TestRunnerApi>();
api.Execute(new ExecutionSettings(new Filter()
{
assemblyNames = new [] {"MyTestAssembly"},
testNames = new [] {"MyTestClass.NameOfMyTest", "MyTestClass.AnotherNameOfATest"}
}));
执行设置在其构造函数中采用一个或多个筛选器。如果未提供筛选器,则默认情况下它会运行所有编辑模式测试。如果提供了多个筛选器,则如果测试与任何筛选器匹配,则运行测试。
下面运行名为MyTestAssembly名称与两个指定测试名称之一匹配的任何测试:
var api = ScriptableObject.CreateInstance<TestRunnerApi>();
api.Execute(new ExecutionSettings(
new Filter()
{
assemblyNames = new[] {"MyTestAssembly"},
},
new Filter()
{
testNames = new[] {"MyTestClass.NameOfMyTest", "MyTestClass.AnotherNameOfATest"}
}
));
注意:在每个测试中指定不同的测试模式或平台Filter当前不支持。测试模式和平台从第一Filter仅,如果未提供,则默认为“编辑模式”。