問題タブ [automated-tests]
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.
build-automation - バッチファイルでの文字列記号の操作?
.bat / .cmdファイルで文字列のサブ文字列を取得する方法はありますか?
たとえば、文字列「hello.txt」が与えられた場合、.txtを削除する方法はありますか?
編集:これを行うためのより一般的な方法はありますか?それがファイル名またはファイルパスであるという仮定の下ではありませんか?
build-automation - 高度なバッチファイルの使用法を学ぶための最高の無料リソース?
高度なバッチファイルの使用法を学ぶための最良の無料リソースは何ですか?
c# - 自作テスト アプリケーションを標準単体テスト フレームワークに変換する
私はソフトウェアのために書かれた多くのテストを持っています (これは素晴らしいことです) が、それは本質的に C# のスタンドアロン テストとして構築されました。これは十分に機能しますが、いくつかの欠点があります。特に、標準のテスト フレームワークを使用しておらず、テストを実行する人が、実行してはならないテストへの呼び出しをコメントアウトする必要があります。 (テスト「スイート」全体を実行することが望ましくない場合)。自動化されたテスト プロセスに組み込みたいと考えています。
VS 2008 のテスト エディションには、私が望むことを実行できる「汎用テスト」の概念があることがわかりましたが、現在、そのバージョンにお金を費やす立場にはありません。最近、VS 2008 Pro バージョンを使い始めました。
これらのテスト方法は、おなじみのパターンに従います。
- テスト用のセットアップを行います。
- テストを実行します。
- 次のテストのためにリセットします。
それぞれが bool (合格/不合格) と文字列 ref を失敗の理由に返し、失敗した場合は入力されます。
明るい面では、少なくともテスト方法は一貫しています。
私は今夜ここに座って、明日の朝にこのすべてのテスト コードをテスト フレームワークに移行する方法を考えています。変換を行います。
そのような変換を行った経験はありますか? ヒントはありますか?グローバルな検索/置換を行ったり、テストを手作業で変更したりするのに苦労しているかもしれません。
何かご意見は?
windows-installer - MSIの自動インストール
MSIファイルまたはインストーラー.exeを自動的にインストールする最良の方法は何ですか?インストールされている製品のコピーに対して、ビルドシステムから自動テストを実行したいと考えています。私たちのインストーラーには、通常のライセンス承認画面、インストール場所などがあります。
FryHardが指摘したように、特に便利な2つのオプションがあります。
- 「/quiet」-使用しないインタラクション
- 「/passive」-プロセスバーのみ、無人モード
performance - 自動化されたテストを高速に保つには?
自動化されたテストは、リアルタイムのプロジェクトの状態を反映するために高速でなければなりません。アイデアは次のとおりです。
- リポジトリ自動ビルドへのコミットが実行された後 (可能な限り速く)。
- ビルドが成功すると、自動テストが開始されます。高速である必要があります。
これは、あなたの変更が何かを壊すかどうかを知るための私が知っている最良の方法です.
最初はビルドを高速化するのは難しいと思われましたが、100 秒程度に抑えることができました。105(!) プロジェクトのソリューション (MSVS 2008 C#)。
テストはそれほど単純ではないように見えました (NUnit FW を使用しています)。単体テストは大きな問題ではありません。私たちを殺すのは統合テストです。そして、それらが遅いという事実ではなく(それらをより速くする方法に関するアイデアは大歓迎です)、環境をセットアップする必要があるという事実は、はるかに遅い(atm〜1000秒)です!
私たちの統合テストでは、最新の変更を反映するために再デプロイする必要がある web/win サービス (これまでのところ 19 個) を使用しています。これには、サービスの再起動と多くの HDD R/W アクティビティが含まれます。
自動化されたテスト フェーズを短縮するために、環境とワークフローをどのように整理/最適化する必要があるか、どのように最適化できるかについて、誰でも経験を共有できますか。「低レベル」のボトルネックと回避策は何ですか。
PS の書籍や広範な記事は歓迎されますが、実際の作業ソリューションはより高く評価されます。
continuous-integration - Nant との継続的統合
初めて継続的インテグレーションを使用する準備をしています。自動化されたビルドおよびテスト タスクに Nant を使用し、リポジトリをポーリングして Nant スクリプトを実行するための適切な CI ツールを見つけようとしています。
私はこれまで大まかに次のことを調査してきました。
- ハドソン
- クルーズコントロール
- ドラコ
これまでの私の感覚では、ほとんどの作業は Nant によって行われるので、Draco はインストール/セットアップが簡単であるはずなので問題ありません。一方、Cruise Control と Hudson は、より優れたレポート オプションを提供する可能性があります。
ビルドおよびテスト タスクに Nant を使用する場合、継続的インテグレーションを実行する最良の方法は何ですか?
automated-tests - Mercury Quick Test Pro - カスタム グリッドを使用したテスト
ベンダーのカスタム グリッドを参照するいくつかのテストを作成しようとしています。残念ながら、QTP はそれを WinObject としてしか認識しないため、まったく役に立ちません。グリッドをナビゲートしてセル値を変更したり、セルをダブルクリックしたり (X、Y 座標を使用せずに) できる必要があります。
理想的には、このオブジェクトがグリッドであることを QTP に理解させ、それを 1 つとして扱いたいと考えています。
どんな助けでも大歓迎です。
ありがとう
ジョン
java - Maven2 規則に似た Ant 規則はありますか?
過去 2 年間 - (っぽい)ビルド/継続的インテグレーション ソリューションにMaven2を使用してきました。その前にAntを少し使っていましたが、あまり経験がありませんでした。今、私は新しい仕事に就き、現在所属しているチームは Ant を使用しています。
私が疑問に思っているのはこれです:
Maven では、Java ソースとファイル、および Java テスト ファイル ( JUnitテスト) を分離するためのディレクトリ規則がありました。次のように見えました。
このようにして、テストはソース/実稼働コードから分離され、そのようにビルド/デプロイされることはありません。
Ant のドキュメントを調べてみると、これに関する規則は実際には見当たりません。何か不足していますか?Antにも同様の規則はありますか?
scripting - 削除されたファイルが Vista で再び表示されるのはなぜですか?
プログラムで自動テストを実行して、他のファイルと一緒にいくつかの大きな MPG ファイルを生成しています。テストを実行した後、スクリプトをクリーンアップします。他のファイル (バイナリ ファイルとテキスト ファイルの混合) は問題なく削除されます。ただし、MPG ファイルは削除されません。テストの実行後にエクスプローラーから MPG ファイルを手動で削除しようとすると、エクスプローラー ウィンドウから削除され、数秒後に再び表示されます。プロセス エクスプローラーは、explorer.exe によって使用されていることを示しています。最終的に、これらのファイルを削除できます。なぜこれが起こっているのですか?
ruby-on-rails - Selenium RC: 複数のブラウザーでテストを自動的に実行する
そこで、 Selenium RCを使用して Web アプリをブラウザーで直接テストする Ruby 単体テストの作成を開始しました。ruby にはSelenum-Clientを使用しています。他のすべてのセレン テストの継承元となる基本クラスを作成しました。
これにより、多数の SeleniumDriver インスタンスが作成され、欠落しているすべてのメソッドが各インスタンスで呼び出されます。これにより、基本的にテストが並行して実行されます。
他の人はこれをどのように自動化しましたか?
これは私の実装です:
これは機能しますが、1 つのブラウザーが失敗すると、テスト全体が失敗し、どのブラウザーで失敗したかを知る方法がありません。