代码之家  ›  专栏  ›  技术社区  ›  bkwdesign

如何获得一个Chutzpah测试适配器来在Azure DevOps管道构建上运行我的QUnit测试?

  •  0
  • bkwdesign  · 技术社区  · 7 年前

    它只在我的机器上工作 在使用Azure DevOps之前,我只安装了这个 Chutzpah VSIX 'Test Adapter' add-on 为了运行我的QUnit测试。我的 test.js 使用Chutzpah的引用语法。。所以Chutzpah将在IDE中进行测试 Test Explorer 我可以像其他人一样管理他们。

    Azure管道文档 - says right here 那他们 VSTest@2

    -如果我将此解决方案堆栈上载到Azure DevOps repo,并使用ASP.NET的默认YAML。。它发现了几个单元测试并成功地运行它们 但是我的javascript/QUnit测试都没有

    我猜 我的Chutzpah VSIX加载项不存在于Azure DevOps构建代理机器上,我需要做一些事情使其工作-但是,什么?我目前没有使用 Chutzpah nuget pkg -我应该吗?


    据此, Art of Simplicity blog post

    这个NuGet包包含所有必需的DLL和工具,以便能够运行JavaScript测试。通过使用这种方法,您不需要在构建服务器上安装Chutzpah测试适配器,也不需要指定测试适配器的位置。TFS构建测试工具将自动检测所需的DLL并为您加载测试适配器。

    我是Azure DevOps(及其前身)的新用户,没有调整我的Google fu以加入诸如“TFS”之类的术语,所以我可能需要基于此开始搜索。


    更新。。。 根据上面的博文,我现在添加了一个 chutzpah.config 文件位于我的web项目的根目录中(它不在我的repo的根目录中)。。我的回购协议中有多个解决方案(在不同级别嵌套)。 在管道服务器上构建它仍然不走运

    1 回复  |  直到 7 年前
        1
  •  0
  •   bkwdesign    7 年前

    对我来说,关键是我必须将Chutzpah NuGet包添加到我的web项目中,然后告诉构建代理/测试运行者在哪里可以找到Chutzpah“东西”(请参阅) pathtoCustomTestAdapters more here

    这是我的.yml文件,它对我很有用:

    - task: VSTest@2
      inputs:
        platform: '$(buildPlatform)'
        configuration: '$(buildConfiguration)'
        testAssemblyVer2: '$(Build.SourcesDirectory)/MyApp/trunk/MyWebAppProject/Scripts/tests/test**.js'
        pathtoCustomTestAdapters: '$(Build.SourcesDirectory)/MyApp/trunk/packages/Chutzpah.4.4.3/tools/'
    

    尽管在某些地方被告知要添加 .runsettings 文件,这似乎对我的Azure DevOps构建代理不起作用。。它实际上把它弄糊涂了!

    FWIW-这是 chutzpah.json 我输入了我的web项目的根(它不是我的回购协议的根)

    {
      "Framework": "qunit",
      "FrameworkVersion": "1",
      "TestHarnessLocationMode": "TestFileAdjacent", 
      "References": [
        {
          "Path": "Scripts/qunit.js",
          "IsTestFrameworkFile": true
        },
        {
          "Path": "Content/qunit.css",
          "IsTestFrameworkFile": true
        }
      ],
      "Tests": [
        {
          "Path": "Scripts/tests/",
          "ExpandReferenceComments": true,
          "Excludes": [ "fake_razor.js", "fake_razor_search.js","MyCorp.Spa.Routing.Callbacks.js" ]
        }
      ]
    }
    

    推荐文章