是否可以仅启动部署的一个角色以进行本地集成测试?

时间:2014-09-04 12:57:29

标签: azure integration-testing azure-web-roles azure-worker-roles

我们有一个项目,其中包含一个Web角色和一个辅助角色。 我想在本地计算机上运行worker角色的集成测试,但我不知道如何只启动worker角色的实例才能运行测试。我不想为集成测试启动Web角色,因为我不需要它。

在一个单独的工作角色的项目中,这样做非常好而且容易。

创建一个单独的解决方案(然后在源代码控制中)是否是一个好主意,它只包含worker及其测试?通过这种方式,我将在主要解决方案中使用已部署的项目,但我不会“破坏”#34;这个解决方案集成测试不是可执行的"在TFS在线。

通常一个好的想法是为集成测试提供单独的解决方案,以免通过TFS中不可执行的测试(无论是TFS在线还是内部部署)破坏主要解决方案?我们通常将我的单元测试放在主解决方案的项目中,在TFS构建应用程序之后执行测试。

1 个答案:

答案 0 :(得分:0)

我尝试了一个看起来不错的解决方案。让我解释一下。

分支结构:

  • dev的
    • SRC
      • Main.Web
      • Main.Model
      • Main.Persistence
      • Main.Worker1
      • Main.Worker2
    • integrationTests
      • Main.Worker1
      • Main.Worker1.IntegrationTests(.dll)
      • Worker.IntegrationTest.CloudService(仅在本地启动worker)

我在" integrationTests"中创建了一个.sln。我在其中添加了Main.Worker1将其包含在源代码管理中。这样做可以在单独的解决方案中为集成测试提供可用空间,该解决方案涉及原始项目。现在我可以启动VS的两个实例,如果我愿意,可以逐行启动集成测试并调试工作项目。

一个好的副作用是当我将代码合并到prod分支时,我不会用集成测试破坏它。

如果有人找到更好的解决方案,发布它会很棒。