問題タブ [gallio]
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.
boost - HTML出力などを提供できるBoost.TestまたはcppUnitの拡張機能はありますか?
プロジェクトのユニットレベルのテストケースの開発に携わっています。マネージド コードとネイティブ C++ コードの両方があります。いくつかの調査の後、マネージド コードに NUnit を選択しました。HTML出力やチャートなどを提供する拡張機能であるGallioまたはFireBenchmarksを使用します。
cppUnit または Boost.Test にこのような拡張機能はありますか? どちらを使うか決めていません。何もない場合、そのようなプラグインを有効にするために拡張しやすいのはどれですか?
これについてあなたの提案をしてください。
.net - 統合テストを実行するときに、不良COMコンポーネント(HP Quality Center 10.0)を.Netアプリケーションから分離する方法
私は現在、COMクライアントAPI(TDApiOle80またはTDApiOle80.TDConnectionと呼ばれることが多い)を介してHP Quality Center 10.0と統合する.Netベースのソフトウェア(.Net Framework 3.5 SP1)に取り組んでいます。
XUnit1.6.1.1521とGallio3.1.397.0(msbuildファイルから呼び出されます)を使用しています
次のプロセスを実行します。
- 接続の作成
- テストの実行
- 接続を閉じる
- 処分
- GC.Collection()/ GC.AwaitingPendingFinalizers()を強制する
統合テストごとに-そして各統合テストは、ファクトで構成されたタイムアウトを使用して実行されます。
私たちが抱えている問題は、いくつかのテスト(たとえば約10回)の後にQuality Centerが呼び出されると無期限にブロックされ、Gallio全体がフリーズして応答しなくなることです。
当初、xunit.netはファクト内のコードにのみタイムアウトを適用することを発見しました-したがって、コンストラクターまたはdisposeメソッドが完了するまで無期限に待機します-確認のために、そのロジックをテストの本体に移動しました...しかしこれは問題を解決していません(特定の数のテストを実行した後もハングします)。
TestDriven.Netを使用する場合も同じことが起こります。1つまたはいくつかのテストをインタラクティブに実行できますが、約10を超えるテストが実行され、実行全体がフリーズします。唯一の選択肢は、TD.Netで使用されるProcessInvocation86.exeプロセスを強制終了することです。
誰かがこれがすべて一緒に起こるのを止める方法、または少なくともこれらの種類の問題から私の統合テストを隔離する方法のいずれかに関するヒント/コツを持っていますか?QC APIが無期限にブロックするテストでは、テストはタイムアウトで失敗し、 Gallioが次のテストに移動できるようにします。
アップデート
STAスレッドを使用するためのヒントは、問題を少し前進させるのに役立ちました。カスタムXUnit.Net属性を介して、独自のSTAスレッドでテストを開始します。これにより、Gallio / TestDriven.Netが完全にロックアップするのを防ぎ、ハドソンビルドサーバーで統合テストを実行することを含めることができます。
代わりに、TestDriven.Netでテストを実行すると、次のような出力が表示されます。偶然に同じスイートを数回実行すると、すべてのテストが合格するか、通常は1つまたは2つのテストが失敗します。そして、最初の失敗の後、2番目の失敗はこの「appdomainのアンロード中のエラー」の問題を引き起こします。
テスト'IntegrationTests.Execute_Test1'が失敗しました:テスト実行時間が超過しました:30000ms
テスト'T:IntegrationTests.Execute_Test2'が失敗しました:appdomainのアンロード中にエラーが発生しました。(HRESULTからの例外:0x80131015)System.CannotUnloadAppDomainException:appdomainのアンロード中にエラーが発生しました。(HRESULTからの例外:0x80131015)System.AppDomain.Unload(AppDomain domain)at Xunit.ExecutorWrapper.Dispose()at Xunit.Runner.TdNet.TdNetRunner.TestDriven.Framework.ITestRunner.RunMember(ITestListenerリスナー、アセンブリアセンブリ、MemberInfoメンバー)at TestDriven.TestRunner.AdaptorTestRunner.Run(ITestListener testListener、ITraceListener traceListener、String assemblyPath、String testPath)at TestDriven.TestRunner.ThreadTestRunner.Runner.Run()
4が合格、2が失敗、0がスキップ、50.42秒(xunit)かかりました。
Quality Center APIがランダムに無期限にハングしている理由はまだわかりません。これについては、まもなくさらに調査します。
2010年7月27日更新
私はついにハングの原因を突き止めました-問題のあるコードは次のとおりです。
Connectを呼び出してからConnectProjectExを呼び出すと、ブロックされる可能性があるようです(ただし、決定論的ではありません)。冗長な接続呼び出しを削除すると、テストの安定性が劇的に向上したようです-正しい接続コード:
コードベースを継承したので、接続コードについてはあまり考えませんでした。
私がまだ理解していないことの1つは、上記のタイムアウトコードを使用しても、Thread.Join(timeout)が返されない理由です。デバッガーを接続すると、テストスレッドが参加/待機操作中であることが示されます。おそらく、STAスレッドでの実行と何か関係がありますか?
c# - Xml データをパラメータとして mbunit v3 の Test に渡す方法
この記事から、mbunit を使用したデータ駆動型テストについて読んでいました。 http://blog.benhall.me.uk/2007/04/mbunit-datafixture-data-driven-unit.html 私は現在 mbunit の v3 を使用しており、DataDriven テストに使用される属性は、リリースによると V3 には適用されませんV3 のメモ。この記事http://blog.bits-in-motion.com/2009/03/announce-gallio-and-mbunit-v306.htmlを使用して、xml データ ソースを使用したデータ ドリブン テストを実行できました。しかし、各パラメーターで [Bind("price")] を使用する必要があります。V2 では、ForEachTest 属性で、xml データを含むように逆シリアル化されたクラスのデータ型を指定する方法がありました。そうすることで、クラスのオブジェクトをパラメーターとしてテストメソッドに渡すことができます。v3でそのようなことを行う方法はありますか?
c# - mbunit v3 のドキュメント
mbunit v3 の新機能に関するドキュメントへのポインタはありますか?
c# - selenium-rc リモートサーバーに接続できません
昨日、奇妙な問題に遭遇しました。テスト スクリプトを作成するために、C# と共に selenium-rc を使用しています。初めて、昨日、「リモートサーバーに接続できません」というエラーが発生し始めました。コードのどの部分でもランダムに発生するようです。例 ステートメントでエラーがトリガーされますselenium.setspeed(2000);
。別のスクリプトでは、assert ステートメントでトリガーされました。問題がセレンサーバーへの接続に関するものである場合、他のセレンコマンドを実行して、特定のステートメントでのみエラーをスローするのはなぜですか。エラーに関する具体的な情報が必要な場合はお知らせください。
誰かが以前に同様のエラーに対処したことがありますか?? この方向の助けをいただければ幸いです。
よろしくお願いし
ます。
c# - selenium rc でリンクをクリックできない
今日はちょっと奇妙な問題に直面しています。Selenium は 1 つのテスト ケースでリンクをクリックしているように見えますが、後続のケースでは同じリンクを無視します。これは、テスト ケースの順列の組み合わせで発生します。どちらの場合も 2 番目に実行されますが、上記の問題により失敗します。誰かがこれに対する解決策を提案できますか?? 私はselenium.clickとselenium.clickatを試しました。マウスアップ+マウスダウンの組み合わせは、最初から機能しません。selenium.fireevent も違いはないようです。
本当にこれで立ち往生。誰か助けてくれませんか????
よろしくお願いし
ます。
c# - MBunitテストでのapp.configの使用
単体テストを設定する方法は、ユーザーが実行可能ファイルを実行し、使用するデータセットを選択できるようにすることです。この情報はapp.configに保存されますが、Gallio Icarusで単体テストを実行しているときにapp.configにアクセスしようとすると、機能しません。
編集:アプリケーションプロパティにバインドするフィールドを取得しましたが、呼び出すProperties.Settings.Default.Save();
と何も実行されないようです。app.exe.configは変更されず、変更は保持されません。
c# - セレンのカスタムFirefoxプロファイルにより、アドオンに互換性がなくなります
今、これはトリッキーです。Firefoxとセレンを使用してWAPテストを実行しようとしています。そのために、カスタムプロファイルを作成し、modifyheadersというプラグインをインストールしました。プロファイルを手動で起動すると、アドオンは正常に機能します。しかし、Selenium RCで使用すると、Firefoxはプラグインを無効にし、Firefox3.6.6と互換性がないと言っています。これはばかげています。同じFirefoxプロファイルを手動で開くと、プラグインは正常に機能します。また、(ffによって起動されたプロファイルで)プラグインを更新すると、互換性パッチがインストールされ、FFを再起動した後も正常に動作します。しかし、Firefoxを閉じて、セレンから同じプロファイルを起動すると、同じ問題が発生します。助けてください、私のテストケースの多くはWAPに基づいています。このプラグインの代替案を提案することもできます。
よろしく
Vamyip
mbunit - Moles テストで MbUnit GUI を使用できますか?
Moles を使用するように単体テストをセットアップしたいと思います。主に、インターフェイスを必要としない場所に多くのインターフェイスを記述しないようにするためです。わかりました、その部分は議論の余地がありますが、それは私たちのチームの懸念事項です.
そのために、モグラを調査しています。モグラは気の利いたものです。ペックスは気の利いたものです。問題は、Moles を使用する単体テストをビルドすると、Gallio Icarus (MbUnit gui)で突然実行できなくなることです。これをやってのけ、モグラがテストの一部であることをイカルスに理解させる方法はありますか?
wcf - Gallio/MbUnitを使用したWCFWebサービスの単体テスト
サービスを呼び出す単純なGallioユニットテストを使用したWCFサービスがあります。しかし、私はフレームワークの振る舞いに混乱しています。Visual Studioを初めて起動し、単体テストを実行しようとすると、次のエラーが発生します。
System.ServiceModel.EndpointNotFoundException:メッセージを受け入れることができるhttp:// localhost:43671 / MyService.svc/MyServiceをリッスンしているエンドポイントがありませんでした。これは多くの場合、誤ったアドレスまたはSOAPアクションが原因で発生します。詳細については、InnerException(存在する場合)を参照してください。---> System.Net.WebException:リモートサーバーに接続できません---> System.Net.Sockets.SocketException:ターゲットマシンがアクティブに拒否したため、接続できませんでした127.0.0.1:43671 ErrorCode:10061
ただし、単体テストプロジェクトでサービス参照を右クリックして[サービス参照の更新]を実行すると、ポート43671でASP.NET開発サーバーが起動したことを示すポップアップが表示され、単体テストは正常に機能します。
サーバー起動コードを単体テストに追加して、単体テストを実行するたびに「サービス参照を更新」する必要がないようにするにはどうすればよいですか?
ありがとう。