2013-07-23 83 views
2

我在写一些specflow测试来驱除我的系统行为。所有的工作都很棒。但是,当我承诺git和AppHarbor构建它失败。目前,这是由于缺乏识别应用程序托管应用程序的转换。但是,每次我编写一个新的特性以及伴随的specflow(和selenium)测试时,我预计我的specflow测试将失败,因为新功能尚未部署。清晰的圈子。AppHarbor测试执行配置

我实际上想限制构建莫名其妙不运行specflow测试。 AppHarbor有限制哪些测试运行的方法吗? Nunit类别?

回答

1

您可以使用AppHarbor's solution file convention来实现此目的。如果您有一个包含specflow/selenium测试的单独项目,那么窍门就是确保在我们构建的解决方案中未引用此项目。

更具体地说,您可以创建名称为AppHarbor.sln的解决方案,并仅引用您希望AppHarbor从此解决方案文件构建和测试的Web,控制台和测试项目。如果AppHarbor在您的存储库中找到,它始终会倾向于使用该名称构建解决方案。

然后,您可以为包含specflow/selenium测试项目的开发项目维护一个单独的解决方案文件(可能是您正在使用的文件)。这将允许您在提交之前在本地执行您的测试并保留您当前的工作流程。

+0

感谢您的回复。我会试一试。一个考虑,如果你会招待我。我希望最终在部署后运行specflow测试,即当最新的功能出现在网站上时,会有配套的specflow测试。我认为我没有办法做到这一点是正确的?我想构建管道有意轻量化,构建,测试部署,因此不可配置。我想我只需要设置我自己的团队城市实例来完成这些任务,然后针对我的CI服务器部署后的prod运行specflow测试。 –

+0

你是对的,作为构建/测试过程的一部分,目前没有办法在实际运行的网站上执行测试。然而,您可以与[Sauce Labs](https://saucelabs.com/)等网站进行整合,以对现场进行测试。您可能需要为测试运行开发/暂存应用程序,以便他们可以从外部服务或您自己的CI服务器部署后(但在推送到您的生产站点之前)运行。 – runesoerensen