● 第 2 种情况:您的测试项目 TestProject1 中包含一个 DLL,它是从第二个测试项目 TestProject2 中编译的。TestProject2 是用 C++/CLI 编译的。TestProject2 中的代码定义了一个属性类,该属性至少修饰 TestProject2 的一个测试方法。此时,当您在 TestProject1 中运行单元测试时,测试执行引擎将打开 TestProject2.DLL 并可以将其保留为锁定状态。
在上述两种情况下,解决方案都分两部分进行。首先执行下列步骤。
1、在“工具”菜单上选择“选项”。
“选项”对话框打开。
2、展开“测试工具”并单击“测试执行”。
3、在“性能”下,清除“使测试执行引擎在两次测试运行之间保持运行”复选框。
完成这些步骤之后,如果问题仍然存在,请执行下列操作:
更改代码,使在 C++/CLI 中编译的测试项目不需要加载到默认 AppDomain 中。若要实现此目的,一种方法是将您使用的自定义属性的定义移动到在 C# 中实现的单独程序集中。
详细信息(按测试类型)
正如本节所述,在运行特定测试类型时,经常会发生一些特定的错误。
● 手动测试。手动测试不能在远程运行。当您尝试启动一个包含手动测试的测试运行时,Test Edition 会尝试从测试运行中移除该手动测试。当出现这种情况时,系统会提醒您这一事实,并让您选择是取消测试运行,还是在移除手动测试的前提下继续运行。有关更多信息,请参见 Test Edition 的对话框。
● 顺序测试。顺序测试所遇到的错误通常与文件部署有关。在运行顺序测试之前,测试引擎必须先找到所有包含的测试中的全部测试文件以及其他一些必需文件,然后再对这些文件进行部署。如果其中任意单个测试的此步骤失败,都会导致错误发生。
● 一般测试。在运行一般测试时,也可能发生部署错误。对于一般测试,可以用两种方式来指定要部署的文件:在测试运行配置的“部署”页上指定,以及在“一般”测试自身的创作页上指定。如果没有列出所需的全部文件或者 Team System 测试工具 在指定位置找不到这些文件,测试就有可能失败。
这两种不同的部署文件方法所引发的错误分别出现在不同级别。如果部署错误与在一般测试创作页中指定的文件有关,则将出现测试级错误。如果部署错误与在运行配置中指定的文件有关,则将出现运行级错误。