問題タブ [vstest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2012 - SQL Server 2014 単体テスト - ビルド サーバーへの展開
初めて、テスト プロジェクトで Visual Studio 2013 SQL Server データベース プロジェクトを使用しようとしています。ローカル マシンでは正常に動作しているように見えますが、パスが正しくないため、TFS2013.4 を使用してビルド サーバーで実行するとエラーが発生します。
データベースのデプロイに失敗しました。パス 'C:\Builds\1\Database1\Database1.sqlproj' は、データベース プロジェクト ファイルへの有効なパスではありません。
テストを実行する前に、配置するデータベース プロジェクトを見つけることができません。
これは既知の機能であり、この件に関する MSDN ページがhttps://msdn.microsoft.com/en-us/library/jj851202(v=vs.103).aspxにあります(「変更」という見出しの下のセクションを参照してください)。テストプロジェクト」)。しかし、私は説明が明確ではないと思います。また、いくつかのタイプミスがあるようです。たとえば、命令 6 では app.config を x から y に変更しているようで、違いがわかりません。また、BuildComputer.sqlunitttest.config に余分な「t」があるようですが、それは意図的なものですか? わからない。
この MSDN ページに基づいて、次のように app.config を作成しました。
AllowConfigurationOverride="true"
セクションに追加された属性に注意してくださいSqlUnitTesting
。
Azure-Dev-VS13.sqlunittest.config という別の構成ファイル (Azure-Dev-VS13 はビルド サーバー名)。これの内容は次のとおりです。
唯一の違いは、DatabaseProjectFileName
属性のパスへの変更です。
また、Local.testsettings をソリューションに追加し、Deployment カテゴリの下に 1 つのエントリを追加しました。
ただし、何をしても、変更されたパスへの参照なしで同じエラーメッセージが表示されるため、元の app.config をまだ読み取っていると思います。
上記の例は、開発マシン、TFS サーバー、およびビルド サーバーが 1 台のマシンであるテスト用の 1 台のマシンのセットアップからのものです。ただし、完全な開発環境でも同じエラーが発生します。
何か案は。ありがとう。
tfs - vstest.console.exe の実行時に NUnit テストをフィルター処理するにはどうすればよいですか?
TFS ビルドの一部として実行する一連の自動テスト (SpecFlow を使用したもの、NUnit を使用したもの) があります (Visual Studio オンラインを使用し、ホストされたビルド エージェントを使用)。
一部のテスト (単体テストではなく受け入れテスト) は、システムにログインしているユーザーの資格情報を想定しているため、ビルド サーバーで実行できません。
これらのテストを実行から除外し、ローカルのみのテストを除くすべてを実行できるようにしたいと考えています。
これを実現するために[Category("LocalOnly")]
、TFS サーバーによって無視されるようにテストに属性を追加し、ビルド (新しいプレビュー ビルド メカニズム) でテスト タスクを設定して、次のスイッチを追加しました/TestCaseFilter:"TestCategory!=LocalOnly"
。
うまくいくと信じていても、うまくいかないことを除いて。フィルタに等号を設定すると何も実行されず、不等号を使用するとすべてが実行されます。フィルターが機能していないようです。
また、vstest.console.exe を使用して、これを自分のボックスでローカルに実行しようとしましたが、まったく同じ結果が得られたので、これは TFS の問題ではありません)。
Visual Studio リリース ノート用の NUnit アダプターによると、これは修正されていますが、その証拠は見当たりません。
これを修正する方法はありますか?
sonarqube - MsTest による SonarQube テスト カバレッジ
SonarQube
私は単純なドットネットアプリで作業しようとしています。起動して実行することにある程度成功しましたが、コードカバレッジが機能していません。
SonarQube が Gallio などの「go to」カバレッジ ツールの多くのサポートを中止したとき、他の多くの人々がこの問題に直面したようDotCover and OpenCover
です。
私が従った例は次のとおりです。
.coverage
ファイルを生成するためにいくつかのVSコマンドラインツールを試しました
と
そして、ここ.coveragexml
からファイルに変換するようなコードを書きました
次の XML を取得するには:
また、SonarQube ランナーが使用できる XSLT スタイルシートを使用することもできます。
ソナーを実行すると
- MSBuild.SonarQube.Runner.exe 開始
- MSBuild
- MSBuild.SonarQube.Runner.exe 終了
unknown XML Node
Caused By: 、Expect Coverageのようなエラーが表示されますが、結果が得られました
これは、XML の構造が気に入らないためですが、Sonar が好む形式に変換するためにカバレッジ ファイルで何が期待されているのか、どのくらいの作業を行う必要があるのかわからないためです。
うまくいけば、私は間違った道を進んでおり、VSカバレッジまたはcoveragexml
ファイルをあまり作業せずにSonarに統合する簡単な方法があります
Sonar plugins
私のアールに関する追加情報
- c# = 4.1
- 一般カバレッジ = 1.1
c# - Internals、InternalsVisibleTo、共有動作のテスト
共有の基本インターフェースpublic interface IOperation {...}
と、実装する多数 (数十、すぐに 100 以上) の異なるオブジェクトがありますIOperation
。
また、これらすべての実装のテストも用意されています。これらはすべてTestOperationCommon
、Create メソッドの実際の操作クラスとnew
そのような操作の型でテンプレート化された、呼び出された基本クラスから継承されています。1 つから 5 つのテンプレート パラメーターを使用して TestOperationCommon を実装しています (これですべての操作に十分です)。
さて、最近、すべての操作の実装を内部にし、公開のみにすることが決定されました。これらの操作IOperation
は実装の詳細であるため、これは良い考えのようです。そして、[InternalsVisibleTo(...)]
テストも解決されたようです。
ただし、パブリック テスト クラスへのジェネリック パラメーターが内部 (少なくともテスト対象の実際のクラス) になっているため、テスト構造を使用できなくなっていることがわかりました。
Inconsistent Accessibility .... less accessible than ...
エラー。以下のコードでは、パブリック テスト クラスは、内部のジェネリック パラメーター T を持つ TestOperationCommon から継承できません。しかし、これらすべての共有動作テストを特定のテストに複製することも、悪い考えのように思えます。
[TestClass]
内部の esをテストするために vstest フレームワーク (VS2013+) を取得する方法はありますか?または、多くのコードを複製せずに共有テストを保持できる別の方法はありますか?
それとも、間違っていますか (これらの「実装の詳細クラス」を内部にしています)?
コメントのリクエストとしてのコード例:
visual-studio-2015 - vstest で xUnit テストを実行する
を使用して xUnit 単体テストを実行しようとしていますvstest.console.exe
が、テストが見つかりません。
vstest.console.exe
この場所にあるVisual Studio 2015から使用しています:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow
コマンド実行:
応答:
テストの実行を開始しています。お待ちください...
警告: 提供されたソースで利用できるテストはありません。インストールされているテスト ディスカバリーとエグゼキューター、プラットフォームとフレームワークのバージョン設定が適切であることを確認してから、再試行してください。
次の TestAdapterPath 引数も試しましたが、同じ問題があります。
project.json
ファイル:
これらのテストを実行するにはどうすればよいですか?
編集: DNX ベータ 6 ランタイムの使用。
visual-studio-2015 - VSTest コンソールが別のベース ディレクトリから機能しない
TFS2015 と VS2015 を搭載した Windows 2012 サーバーを使用しています。どういうわけか、私の tfs ビルドは単体テストの結果を生成しません。私は問題を突き止めました。サーバーにログオンし、「VS2015 の MSBuild コマンド プロンプト」で次のコマンドを実行しました (TFS とまったく同じです)。
エラーはありませんでしたが、結果もありません。/ListTest パラメーターを使用すると、テストが見つかります。プロンプトでパスをテスト アセンブリを含むフォルダーに変更し、コマンドを再度実行すると、機能します。ここで私が間違っていることを誰かが説明できますか? (またはTFSが間違っていること)
msbuild - TFS 2015 ビルド、テストが Visual Studio テスト ビルド ステップまたは vstest.console.exe で実行されない
Team Foundation Server と Visual Studio の両方を 2013 update 4 から 2015 にアップグレードした後、新しいビルド システムでビルドを作成しました。ビルドには、1 つの Visual Studio ビルド ステップと 1 つの Visual Studio テスト ステップの 2 つのステップのみが含まれます。クラス ライブラリ プロジェクトとテスト プロジェクトを使用する単純なソリューションは 1 つだけです。
Build ステップは正常に実行されます。Test ステップは何もしません。それはただ言う
しかし、テストは実行されていません。
ビルド定義で VS Test ステップを編集し、VSTest のバージョンを「Visual Studio 2015」ではなく「Visual Studio 2013」に設定すると、すべて正常に動作し、期待どおりに出力されます。
そのビルドステップ中に、次の行が実行されることがわかりました。
それで、自分のPCでコマンドラインからこれを実行しようとしたところ、Visual Studio 12.0フォルダーからvstest.console.exeを使用するとすべて正常に動作することがわかりましたが、Visual Studio 14.0フォルダーからvstest.consoleを使用すると、テストは実行されていません。
コマンド プロンプトを管理者として実行すると、Visual Studio 14.0 フォルダーから vstest.console を使用してすべてのテストが実行されることもわかりました。
誰かにもこの問題がありましたか、または昇格された権限でビルド全体 (またはテスト ステップのみ) を実行する方法があるので、VSTest バージョンを Visual Studio 2015 に設定してテストを実行できますか?