タグ付けされた質問 「unit-testing」

ユニットテストは、ソースコードの個々のユニットをテストして、それらが使用に適しているかどうかを判断する方法です。

12
JasmineでプライベートメソッドのAngular / TypeScriptのユニットテストを書く方法
angular 2でプライベート関数をどのようにテストしますか? class FooBar { private _status: number; constructor( private foo : Bar ) { this.initFooBar(); } private initFooBar(){ this.foo.bar( "data" ); this._status = this.fooo.foo(); } public get status(){ return this._status; } } 私が見つけた解決策 テストコード自体をクロージャー内に配置するか、クロージャー内にコードを追加して、外部スコープ内の既存のオブジェクトのローカル変数への参照を格納します。 後でツールを使用してテストコードを取り除きます。 http://philipwalton.com/articles/how-to-unit-test-private-functions-in-javascript/ あなたが何かをしたなら、この問題を解決するより良い方法を私に提案してください? PS このような同様のタイプの質問に対する答えのほとんどは問題の解決策を与えません、それが私がこの質問をしている理由です 開発者のほとんどは、プライベート関数をテストしないと言いますが、それらが間違っている、または正しいとは言いませんが、私のケースではプライベート関数をテストする必要があります。

4
オブジェクトが特定のタイプであることを表明する
JUnitでオブジェクトがクラスのインスタンスであることを表明することは可能ですか?さまざまな理由で、タイプを確認したいオブジェクトがテストに含まれています。Object1のタイプですか、それともObject2のタイプですか? 現在私は持っています: assertTrue(myObject instanceof Object1); assertTrue(myObject instanceof Object2); これは機能しますが、もっと表現力豊かな方法があるかどうか疑問に思っていました。 たとえば次のようなもの: assertObjectIsClass(myObject, Object1); 私はこれを行うことができます: assertEquals(myObject.class, Object1.getClass()); よりエレガントで流動的な方法でオブジェクトのタイプをテストできる特定のassertメソッドはありますか?
195 java  unit-testing  junit 

4
Mockitoの一般的な「any()」メソッドを使用する
私は配列を期待するメソッドとのインターフェースを持っていますFoo: public interface IBar { void doStuff(Foo[] arr); } 私はMockitoを使用してこのインターフェイスをモックしており、それdoStuff()が呼び出されたと主張したいのですが、渡された引数を検証したくありません-「気にしないでください」。 次のコードをany()、ジェネリックメソッドの代わりにを使用してどのように記述しますanyObject()か? IBar bar = mock(IBar.class); ... verify(bar).doStuff((Foo[]) anyObject());

10
TransactionManagementError信号の使用中は「ユニットブロックの終わりまでクエリを実行できません」が、ユニットテスト中のみ
Django Userモデルのインスタンスを保存しようとするとTransactionManagementErrorが発生し、そのpost_save信号で、ユーザーを外部キーとして持つモデルをいくつか保存しています。 コンテキストとエラーは、シグナルを使用する場合のこの質問django TransactionManagementErrorにかなり似 ています ただし、この場合、ユニットテスト中にのみエラーが発生します。 手動テストではうまく機能しますが、単体テストは失敗します。 私が見逃しているものはありますか? コードスニペットは次のとおりです。 views.py @csrf_exempt def mobileRegister(request): if request.method == 'GET': response = {"error": "GET request not accepted!!"} return HttpResponse(json.dumps(response), content_type="application/json",status=500) elif request.method == 'POST': postdata = json.loads(request.body) try: # Get POST data which is to be used to save the user username = …

30
テスト駆動開発の欠点?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 テスト駆動設計を採用すると何が失われますか? ネガのみをリストします。否定的な形で書かれた利点を挙げないでください。

7
double値のassertEqualsのイプシロン引数の意味
assertEqualsdouble値をテストするためのjunitについて質問があります。私が見ることができるAPIドキュメントを読む: @Deprecated public static void assertEquals(double expected, double actual) 非推奨。代わりにassertEquals(doubleが必要、double actual、double epsilon)を使用してください 何をしないepsilon値の意味は?(イプシロンはギリシャ語のアルファベットの文字ですよね?) 誰かがそれを使用する方法を私に説明できますか?
187 java  unit-testing  junit 

20
Arduinoコードを単体テストするにはどうすればよいですか?
私のArduinoコードを単体テストできるようにしたいのですが。理想的には、Arduinoにコードをアップロードしなくても、テストを実行できます。これに役立つツールやライブラリはありますか? ある開発中のArduinoエミュレータに有用かもしれないが、まだ使用のために準備ができていないようです。 AtmelのAVR Studioには便利なチップシミュレーターが含まれていますが、Arduino IDEと組み合わせて使用​​する方法がわかりません。

14
単体テストでHttpContext.Current.Sessionを設定する
単体テストをしようとしているWebサービスがあります。サービスでは、いくつかの値をHttpContextように。 m_password = (string)HttpContext.Current.Session["CustomerId"]; m_userID = (string)HttpContext.Current.Session["CustomerUrl"]; 単体テストでは、次のような単純なワーカーリクエストを使用してコンテキストを作成しています。 SimpleWorkerRequest request = new SimpleWorkerRequest("", "", "", null, new StringWriter()); HttpContext context = new HttpContext(request); HttpContext.Current = context; ただし、値を設定しようとするたびに HttpContext.Current.Session HttpContext.Current.Session["CustomerId"] = "customer1"; HttpContext.Current.Session["CustomerUrl"] = "customer1Url"; nullであるというnull参照例外が発生しHttpContext.Current.Sessionます。 単体テスト内で現在のセッションを初期化する方法はありますか?

6
ユニットテスト内のコードがバンドルリソースを見つけられないのはなぜですか?
私が単体テストしているいくつかのコードは、リソースファイルをロードする必要があります。次の行が含まれています。 NSString *path = [[NSBundle mainBundle] pathForResource:@"foo" ofType:@"txt"]; アプリでは問題なく実行されますが、単体テストフレームワークで実行pathForResource:するとnilが返され、検索できませんでしたfoo.txt。 これが単体テストターゲットのバンドルリソースfoo.txtのコピービルドフェーズに含まれていることを確認したので、なぜファイルが見つからないのですか?


30
クラスが見つかりません:IntelliJの空のテストスイート
私は大学でコンピューターサイエンスプログラムを始めたばかりですが、IntelliJで問題が発生しています。単体テストを実行しようとすると、メッセージが表示されます Process finished with exit code 1 Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite. 画面の左側に「テストが見つかりませんでした」というメッセージも表示されます。私のテストコードはここにあります: package edu.macalester.comp124.hw0; import org.junit.Test; import static org.junit.Assert.*; public class AreaTest { @Test public void testSquare() { assertEquals(Area.getSquareArea(3.0), 9.0, 0.001); } @Test public void testCircle() { assertEquals(Area.getCircleArea(3.0), 28.2743, 0.001); } } そして私のプロジェクトコードはここにあります: package edu.macalester.comp124.hw0; import java.lang.Math; public …

7
単体テストでリストを比較する方法
このテストはどのように失敗しますか? [TestMethod] public void Get_Code() { var expected = new List<int>(); expected.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 }); var actual = new List<int>(); actual.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 }); Assert.AreEqual(expected, actual); // Assert.AreSame(expected, actual) fails // Assert.IsTrue(expected.Equals(actual)) fails }

4
JUnitを使用した単体テストのためのIntelliJ IDEAの構成
今朝、体験版でIntelliJを試してみることにし、JUnitプラグインをインストールしました。新しいJavaプロジェクトを作成し、そのテストケースを作成したいと考えています。 プロジェクトにjunit.jarファイルを追加するにはどうすればよいですか?(私は実際にそれをすべてのJavaプロジェクトに追加したいと思っています。今、そして永遠に-それを行う方法はありますか?)

7
node.jsモジュールの内部(非エクスポート)関数にアクセスしてテストする方法は?
nodejsの内部(つまりエクスポートされていない)関数をテストする方法を理解しようとしています(できればモカまたはジャスミンを使用)。そして、私にはわからない! そのようなモジュールがあるとしましょう: function exported(i) { return notExported(i) + 1; } function notExported(i) { return i*2; } exports.exported = exported; そして、次のテスト(モカ): var assert = require('assert'), test = require('../modules/core/test'); describe('test', function(){ describe('#exported(i)', function(){ it('should return (i*2)+1 for any given i', function(){ assert.equal(3, test.exported(1)); assert.equal(5, test.exported(2)); }); }); }); notExported関数を公開することを意図していないため、実際にエクスポートせずに関数を単体テストする方法はありますか?

13
非同期にディスパッチされたブロックが完了するのを待つにはどうすればよいですか?
Grand Central Dispatchを使用して非同期処理を行うコードをいくつかテストしています。テストコードは次のようになります。 [object runSomeLongOperationAndDo:^{ STAssert… }]; テストは、操作が完了するまで待機する必要があります。私の現在の解決策は次のようになります: __block BOOL finished = NO; [object runSomeLongOperationAndDo:^{ STAssert… finished = YES; }]; while (!finished); 少し粗雑に見えますが、もっと良い方法を知っていますか?キューを公開し、次を呼び出すことでブロックできますdispatch_sync: [object runSomeLongOperationAndDo:^{ STAssert… }]; dispatch_sync(object.queue, ^{}); …しかしそれは多分多分に露出していることobjectです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.