14

私はこの問題に本当にイライラしています。バージョン番号を変更しようとしましたが、テスト エクスプローラーにテストが表示されません。

テスト出力ウィンドウで、この出力を見ることができます

Starting Microsoft.Framework.TestHost [C:\Users\sul\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta4\bin\dnx.exe --appbase "path to test project" Microsoft.Framework.ApplicationHost --port 63938 Microsoft.Framework.TestHost --port 63954 list ]
Unable to start Microsoft.Framework.TestHost
========== Discover test finished: 0 found (0:00:36.5471185) ==========

これは非常に壊れやすく、テストが表示された後、完全に消えてしまうことがあります。VS を再起動しても解決せず、xunit/xunit ランナーを再インストールしても解決しませんでした。

別のテスト プロジェクトでは、別の出力が得られましたが、まだテストが表示されていません

Starting Microsoft.Framework.TestHost [C:\Users\sul\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta4\bin\dnx.exe --appbase "path to project" Microsoft.Framework.ApplicationHost --port 63938 Microsoft.Framework.TestHost --port 64421 list ]
Connected to Microsoft.Framework.TestHost
Discovering tests in 'path to project\project.json'
========== Discover test finished: 0 found (0:00:35.9341416) ==========

これは私の project.json の一部です

"commands": {
    "test": "xunit.runner.dnx"
  },
  "dependencies": {
    "Microsoft.AspNet.Http": "1.0.0-*",    
    "Microsoft.AspNet.Http.Core": "1.0.0-*",
    "Microsoft.AspNet.TestHost": "1.0.0-*",    
    "Moq": "4.2.1502.911",    
    "xunit": "2.0.0",
    "xunit.runners": "2.0.0"
4

5 に答える 5

5

TFSを使用しているときに、これにいくつかの問題がありました。セットアップして、あるマシンで動作させ、別のマシンに移動し、変更をチェックインした後、最新のコードを取得しました。すべてが正しく表示されていましたが、テスト ランナーはテストをまったく見つけられませんでした。最後に、テスト プロジェクトの単純なクリーンアップと再構築で問題が修正され、テストが検出されるようになりました。

これは私のproject.jsonです

"dependencies": { "Xunit": "2.1.0-beta2-*", "Xunit.runner.dnx": "2.1.0-beta2-*" }, "commands": { "test": "xunit.runner.dnx" },

依存関係にリストされている Xunit の大文字 X に注意してください。公式ドキュメントのリストでは小文字の x になっていますが、これは機能しません。レポの所有者にメールして、このことを知らせました。

編集: XUnit の作成者に話を聞いたところ、小文字の x が彼や他のユーザーにとって機能し、パッケージ キャッシュが破損している可能性があることが保証されました。

于 2015-06-11T17:44:59.020 に答える
1

同様の問題が発生し、xunit 2.0.0-rc1 から 2.0.0-beta8 に変更すると問題が修正されました。

詳細:

  • プロジェクト A (Microsoft.AspNet.Authentication.Test の古いバージョン) は機能しました
  • プロジェクト B (私のカスタム プロジェクト) が機能しませんでした

プロジェクト B を使用するように設定する:

"xunit.runner.aspnet": "2.0.0-aspnet-beta8*"

それ以外の:

"xunit.runner.aspnet": "2.0.0-aspnet-*"

問題を修正しました。プロジェクト B がピックアップされました:

xunit.runner.aspnet (2.0.0-aspnet-rc1-15669)

プロジェクト A は、次の project.json を使用しました。

{
    "compilationOptions": {
        "warningsAsErrors": "true"
    },
    "dependencies": {
        "Microsoft.AspNet.Authentication.Cookies": "1.0.0-*",
        "Microsoft.AspNet.Authentication.Facebook": "1.0.0-*",
        "Microsoft.AspNet.Authentication.Google": "1.0.0-*",
        "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-*",
        "Microsoft.AspNet.Authentication.OAuthBearer": "1.0.0-*",
        "Microsoft.AspNet.Authentication.OpenIdConnect": "1.0.0-*",
        "Microsoft.AspNet.Authentication.Twitter": "1.0.0-*",
        "Microsoft.AspNet.DataProtection": "1.0.0-*",
        "Microsoft.AspNet.TestHost": "1.0.0-*",
        "Moq": "4.2.1312.1622",
        "xunit.runner.aspnet": "2.0.0-aspnet-*"
    },
    "commands": {
        "test": "xunit.runner.aspnet"
    },
    "frameworks": {
        "dnx451": {
            "dependencies": {
                "Shouldly": "1.1.1.1"
            }
        }
    }
}

使用したプロジェクト B:

{
    "dependencies": {
        "Microsoft.AspNet.Authentication": "1.0.0-*",
        "Microsoft.AspNet.Authentication.OAuth": "1.0.0-*",
        "Microsoft.AspNet.Authentication.Cookies": "1.0.0-*",
        "Microsoft.Framework.DependencyInjection": "1.0.0-*",
        "Microsoft.AspNet.TestHost": "1.0.0-*",
        "Moq": "4.2.1312.1622",
        "xunit.runner.aspnet": "2.0.0-aspnet-*"
    },
    "commands": {
        "test": "xunit.runner.aspnet"
    },
    "frameworks": {
        "dnx451": {
            "dependencies": {
                "Shouldly": "1.1.1.1"
            }
        }
    }
}
于 2015-10-01T15:06:31.427 に答える