【问题标题】:AppHarbor Test Execution configurationAppHarbor 测试执行配置
【发布时间】:2013-07-24 20:31:11
【问题描述】:

我正在编写一些规范流测试来消除我的系统行为。一切都在当地工作得很好。但是,当我提交到 git 并且 AppHarbor 构建它失败了。目前这是由于缺乏识别 appharbor 托管应用程序的转换。

但是,每次我编写一个新功能并附带 specflow(和 selenium)测试时,我都预计我的 specflow 测试会失败,因为尚未部署新功能。恶性循环。

我实际上想以某种方式限制构建以不运行规范流测试。 AppHarbor 有没有办法限制哪些测试运行? Nunit 类别?

【问题讨论】:

    标签: testing nunit appharbor specflow


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回复。我会试一试。一个考虑因素,如果你会招待我。我想最终在部署后运行 specflow 测试,即当最新功能到达站点时,该站点将附带 specflow 测试。我认为我说没有办法做到这一点是正确的?我猜构建管道是故意轻量级的,构建、测试部署,因此不可配置。我想我只需要设置我自己的团队城市实例来执行此类任务,然后从我的 CI 服务器部署后针对我的产品运行 specflow 测试。
    • 你说得对,目前无法在构建/测试过程中对实际运行的网站执行测试。但是,您可能能够与例如 Sauce Labs 集成以针对实时站点执行测试。您可能希望为测试运行开发/登台应用程序,以便它们可以从外部服务或您自己的 CI 服务器运行部署后(但在推送到您的生产站点之前)。
    猜你喜欢
    • 2021-03-15
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多