【问题标题】:Chutzpah running both .ts and .js tests (the tests are effectively the same so the test count is doubled)Chutzpah 同时运行 .ts 和 .js 测试(测试实际上是相同的,所以测试计数加倍)
【发布时间】:2015-05-13 13:55:44
【问题描述】:

在 Visual Studio 中,右键单击 .ts 文件并“运行 JS 测试”,仅 .ts 文件中的测试运行并计入总数。

文件夹级别或项目级别的“运行 JS 测试”,.ts 和 .js 文件中的测试都运行并计入总数。

Chutzpah.json 设置:

{
    "Framework": "jasmine",
    "TypeScriptCodeGenTarget": "ES5",
    "TestHarnessLocationMode": "SettingsFileAdjacent",
    "RootReferencePathMode": "SettingsFileDirectory",
    "Compile": {
        "Mode": "External",
        "Extensions": [ ".ts" ],
        "ExtensionsWithNoOutput": [ ".d.ts" ]
    },
    "Tests": [
        { "Path": "Specs"}
    ]
}

【问题讨论】:

    标签: chutzpah


    【解决方案1】:

    我有同样的问题。我所有的测试都是用TypeScript 编写的,所以我的 *.ts 文件定义了存在的测试。我通过只包含 *.ts 文件解决了它。

    {
        "Tests": [ { "Path": "Specs", "Includes": [ "*.ts" ] } ],
    
        "Compile": {
            "Mode": "External",
            "Extensions": [ ".ts" ],
            "ExtensionsWithNoOutput": [ ".d.ts" ]
        }
    }
    

    像魅力一样工作。

    【讨论】:

      【解决方案2】:

      如果没有看到您的完整项目,很难确定,但以下内容应该有助于实现这一目标。如果您需要包含一些 .js 文件,您可以相应地更改排除模式。

      ```

      {
      "Framework": "jasmine",
      "TestHarnessLocationMode": "SettingsFileAdjacent",
      "RootReferencePathMode": "SettingsFileDirectory",
      "Compile": {
          "Mode": "External",
          "Extensions": [ ".ts" ],
          "ExtensionsWithNoOutput": [ ".d.ts" ]
      },
      "References": [
      
          { "Excludes": ["*.js"]}
      ],
      "Tests": [
          { "Path": "Specs", "Excludes": ["*.js"]}
      ]
      }
      

      ```

      【讨论】:

      • 排除 .js 文件似乎没有帮助。我还会提到 TypeScript 测试是在纯 .js 文件中测试代码。从逻辑上看,我不知道为什么它会很重要,尤其是在文件级别运行测试时仅在 TypeScript 文件中运行测试,但在文件夹级别执行相同操作时会全部运行。
      猜你喜欢
      • 2019-04-20
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多