我们有一个项目,其中包含一个Web角色和一个辅助角色。 我想在本地计算机上运行worker角色的集成测试,但我不知道如何只启动worker角色的实例才能运行测试。我不想为集成测试启动Web角色,因为我不需要它。
在一个单独的工作角色的项目中,这样做非常好而且容易。
创建一个单独的解决方案(然后在源代码控制中)是否是一个好主意,它只包含worker及其测试?通过这种方式,我将在主要解决方案中使用已部署的项目,但我不会“破坏”#34;这个解决方案集成测试不是可执行的"在TFS在线。
通常一个好的想法是为集成测试提供单独的解决方案,以免通过TFS中不可执行的测试(无论是TFS在线还是内部部署)破坏主要解决方案?我们通常将我的单元测试放在主解决方案的项目中,在TFS构建应用程序之后执行测试。
答案 0 :(得分:0)
我尝试了一个看起来不错的解决方案。让我解释一下。
分支结构:
我在" integrationTests"中创建了一个.sln。我在其中添加了Main.Worker1将其包含在源代码管理中。这样做可以在单独的解决方案中为集成测试提供可用空间,该解决方案涉及原始项目。现在我可以启动VS的两个实例,如果我愿意,可以逐行启动集成测试并调试工作项目。
一个好的副作用是当我将代码合并到prod分支时,我不会用集成测试破坏它。
如果有人找到更好的解决方案,发布它会很棒。