問題タブ [junit]

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.

0 投票する
6 に答える
9126 参照

java - PowerMock を使用するか、テストが設計にどの程度影響するか?

私は長年 EasyMock のファンであり、SO のおかげで、PowerMock への参照に出くわし、コンストラクターと静的メソッドをモックする機能に出会いました。どちらも、テストをレガシー コードベースに後付けするときに問題を引き起こします。

明らかに、単体テスト (および TDD) の大きな利点の 1 つは、それが (力?) よりクリーンな設計につながる方法であり、PowerMock の導入はそれを損なう可能性があるように私には思えます。これは主に次のように現れます。

  1. コラボレーターを注入するのではなく初期化することに戻る
  2. メソッドを共同作業者が所有するのではなく、静的を使用する

これに加えて、自分のコードがテスト用にバイトコードで操作されていることについて、何かがうまくいきません。具体的な理由は言えませんが、本番用ではなくテスト用なので少し不安です。

私の現在のギグでは、人々がコーディングの実践を改善する方法として、単体テストを本当に推進しています. PowerMock を方程式に導入すると、人々はそのステップをいくらかスキップできるようになるので、私はそれを使い始めるのが嫌です. そうは言っても、それを利用することで、クラスのテストを開始するために必要なリファクタリングの量をどこで削減できるかがよくわかります。

私の質問は、これらの機能に PowerMock (または他の同様のライブラリ) を使用した人々の経験は何ですか?それらを利用しますか?また、テストが設計にどの程度影響を与えることを望んでいますか?

0 投票する
5 に答える
4205 参照

java - 同じインターフェースを複数実装する場合、junit テスト ケースをどのように作成する必要がありますか?

質問する前に、現在の設定について説明させてください。

Service というサービス インターフェイスと、ServiceImpl という 1 つの実装があります。この ServiceImpl は、他のいくつかのサービスを使用します。すべてのサービスは、Spring ごとに Bean としてロードされます。

ここで、ServiceImpl の junit テスト ケースを書きたいと思います。同じように、applicationContext を使用して Service Bean を取得し、それに対してさまざまなメソッドを呼び出してテストします。

パブリック メソッドの場合は問題ないように見えますが、プライベート メソッドのテスト ケースを作成するにはどうすればよいですか? 実装ごとに同じプライベート メソッドを使用できない可能性があるためですか?

テストケースを書くための好ましい方法について、ここで誰か助けてもらえますか?

0 投票する
3 に答える
20960 参照

c++ - hudson で JUnit テスト出力 XML を解析できません

編集: この問題は、gtest 1.4.0 で Google によって修正されました。詳細については、元のバグ レポートを参照してください。

最近、C++ テスト フレームワークを gtest に切り替えました。現在使用できない優れた機能の 1 つは、JUnit スタイルの XML テスト レポートを生成する機能です。これは、hudson ビルド サーバーで読み取ることができます。

gtest テスト スイートによって生成された XML 出力はすべて正当に見えます。

また、ant ビルド スクリプトに JUnitReport タスクを追加しようとしましたが、これは正常に動作し、次のように XML を生成します。

問題は、JUnit テスト結果を公開するように ant に指示し、生のテスト結果 XML または ant JUnitReport タスクで生成されたコンパイル済み結果のいずれかを指すようにすると、常に hudson がそこにテスト結果が見つからないと不平を言うことです。

私は Java の専門家ではないので、ここで何が起こっているのかわかりません。また、JUnit XML がどのように見えるべきかの例を見つけることもできません。誰かが私を正しい方向に向けるのを助けることができますか?

0 投票する
1 に答える
3725 参照

java - JUnit および RMI アプリ、RMI レジストリのベスト プラクティス

RMI クライアント アプリケーション用の一連のシステム統合テストを作成しようとしています。JUnit 3.8.2 で RMI サーバーを起動し、それらのテストを実行したいと考えています。誰かがこれをしましたか?

メインのpojoで次のようなものを使用しています:

これをjunitテストに変換して、レジストリが1回だけ起動され、レジストリが実際に起動した場合にのみテストが実行されるようにする最良の方法は何ですか? メインからのすべてのテスト コードを含む 1 つのテスト メソッドを含むテスト クラスを作成することは避けたいと考えています。

また、テストを書くときは何に注意すればよいですか? RMI テストの落とし穴はありますか?

0 投票する
17 に答える
80165 参照

java - junit & java : 非公開メソッドのテスト

JUnit は、私のクラスで公開されているメソッドのみをテストします。非公開 (つまり、非公開、保護) で junit テストを行うにはどうすればよいですか?

junit を使わなくてもテストできるのですが、junit の標準的な方法は何なのか気になりました。

0 投票する
5 に答える
95117 参照

xml - 仕様 JUnit XML 出力用

JUnit の XML 出力の仕様はどこにありますか。私の目標は、JUnit のような出力を生成する UnitTest++ XML レポーターを作成することです。

参照: 「JUnit テスト出力 XML を解析するための hudson を取得できません」および「Hudson、C++、および UnitTest++

0 投票する
5 に答える
75154 参照

java - JUnit 4 テスト スイート

JUnit 4 でテスト スイートを作成するにはどうすればよいですか?

私が見たすべてのドキュメントは、私にとってはうまくいかないようです。また、Eclipse ウィザードを使用すると、作成したテスト クラスを選択するオプションが表示されません。

0 投票する
5 に答える
17141 参照

java - 単体テストを実行するためのantの構成。図書館はどこにあるべきですか?クラスパスはどのように構成する必要がありますか?ZipExceptionの回避

antを使用してjunitテストを実行しようとしています。テストは、JUnit4テストスイートを使用して開始されます。これをEclipseから直接実行すると、テストはエラーなしで完了します。ただし、antから実行すると、junitタスクがクラッシュするまで、このエラーが何度も繰り返されて、テストの多くが失敗します。

私のテスト実行タスクは次のとおりです。

クラスパスに次のものとすべてのプログラムコードおよびライブラリが含まれていることを確認しました。

デバッグを試みて、運が悪かったときに開こうとしているZipFileを見つけ、includeantruntimeforkを切り替えて、 ant -lib test/libsでantを実行しようとしました。test /libsにはantとjunitが含まれています。ライブラリ。

この例外の原因や、単体テストを正常に実行するようにantを構成した方法に関する情報はすべてありがたく受け取られます。

ant 1.7.1(ubuntu)、java 1.6.0_10、junit 4.4

ありがとう。

更新-修正 済み問題が見つかりました。パス要素ではなくファイルセットを使用してクラスディレクトリをパスに含めたため、.classファイルがZipFilesとして開かれ、もちろん例外がスローされていました。

0 投票する
6 に答える
50588 参照

junit - Junit 4にベーステストクラスを無視させる方法は?

多くのテストの基本クラスがあり、すべてのテストに必要ないくつかのヘルパー メソッドがあります。

それ自体にはテストはありませんが、JUnit (Eclipse の場合) はそのテスト ランナーを呼び出しており、テストする方法がないと文句を言っています。

このクラスを無視するにはどうすればよいですか?

dummyTest問題を解決するメソッドを追加できることはわかっていますが、それはすべての子クラスにも表示されます。

提案?

0 投票する
5 に答える
2904 参照

java - 単体テストで大きな文字列を処理するには?

文字列に作用するメソッドのテストについて質問があります。毎回、文字列をパラメーターとして持つメソッドで新しいテストを作成します。

ここで、いくつかの問題が発生します。

  • \n、\r、\t、ウムラウトなどでテスト文字列を含める方法は?
  • エンコーディングを設定するには?
  • FileInputStream によって開かれる外部ファイルを使用する必要がありますか? (オーバーヘッドが多すぎる、私見)

それで...これを解決するためのあなたのアプローチは何ですか?