【发布时间】:2016-06-30 18:39:23
【问题描述】:
我的 Visual Studio 解决方案中有 3 个项目:1 个共享库项目、1 个单元测试项目(主要是 Selenium WebDriver 测试)和 1 个编码的 UI 测试项目(我很难将我的单元测试和编码的 UI 测试结合到1 个项目 - 所以我们有 2)。我在名为 Globals.Status 的共享库项目中有一个具有静态属性的静态类。
我有一个测试用例,它需要在浏览器(Selenium 单元测试)和桌面应用程序(编码的 UI 测试)中完成工作。 Selenium 单元测试会更改此静态状态变量。编码的 UI 测试(在编码的 UI 项目中)需要读取这个更新后的状态变量。当我连续运行这两个测试时,调用编码的 UI 测试时变量为 NULL。
我有引用共享库项目和单元测试项目的编码 UI 测试项目,但显然这还不够。我需要做什么才能完成这项工作?
感谢您的任何见解!
【问题讨论】:
-
测试应该被编写成不依赖于执行操作的其他测试。您应该能够选择套件中的任何单个测试,运行它,并使其正常运行。如果你不能,你应该重新考虑你的测试套件的设计。
-
我理解这个概念。是的,理想情况下,我会将这两个测试组合成一个测试。不幸的是,如上所述,我很难将 Selenium WebDriver 和 Coded UI 测试代码放入同一个项目中。这个特殊的功能测试需要在网络浏览器中完成一些工作(因此 Selenium),然后在桌面应用程序上完成一些其他工作(因此 Coded UI)。
标签: c# unit-testing static-members multiple-projects