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

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

5
スペック JUnitXML出力用[クローズ]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、StackOverflowのトピックになります。 5年前に閉鎖されました。 この質問を改善する JUnitのXML出力の仕様はどこにありますか。私の目標は、JUnitのような出力を生成するUnitTest ++ XMLレポーターを作成することです。 「ハドソンにJUnitテスト出力XMLを解析させることができません」および「ハドソン、C ++、およびUnitTest ++」を参照してください。

12
アサーションが失敗したときにPythonのユニットテストを続行する
編集:より良い例に切り替え、これが本当の問題である理由を明らかにしました。 1回のテストで複数の失敗を確認できるように、アサーションが失敗しても実行を継続する単体テストをPythonで記述したいと思います。例えば: class Car(object): def __init__(self, make, model): self.make = make self.model = make # Copy and paste error: should be model. self.has_seats = True self.wheel_count = 3 # Typo: should be 4. class CarTest(unittest.TestCase): def test_init(self): make = "Ford" model = "Model T" car = Car(make=make, model=model) self.assertEqual(car.make, make) …


8
Xcodeプロジェクトスキームは現在、テストアクション用に構成されていません
iOSアプリケーションのXcode単体テストを実行しようとしています。USB経由でMacに接続されたiPadでそれをやりたいと思っています。後でJenkinsからテストをトリガーするために、コマンドラインからテストを実行しようとしています。 以下は、現在コマンドラインに入力している内容と表示されるエラーです。助けてください。 コード: xcodebuild test -scheme MyApplication -destination "platform=iOS,name=iPad" エラー: スキームMyApplicationは現在、テストアクション用に構成されていません

4
プロパティのサブセットでオブジェクトを比較するためのジャスミンマッチャーはありますか
テスト中の動作に沿って拡張できるオブジェクトがありますが、元のプロパティがまだそこにあることを確認したいと思います。 var example = {'foo':'bar', 'bar':'baz'} var result = extendingPipeline(example) // {'foo':'bar', 'bar':'baz', 'extension': Function} expect(result).toEqual(example) //fails miserably この場合、次の行に沿って通過するマッチャーが欲しいのですが。 expect(result).toInclude(example) カスタムマッチャーを作成できることは知っていますが、これは非常に一般的な問題であるため、解決策はすでに存在しているはずです。どこで探すべきですか?

12
Java用の偽のファイルシステムフレームワークはありますか?[閉まっている]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、StackOverflowのトピックになります。 昨年休業。 この質問を改善する IO操作(この場合はファイルシステム)を多用するプロジェクトにテストを導入しています。システムは常にファイルを開いたり閉じたり、ファイルが存在するかどうかをチェックしたり、ファイルを削除したりします。 定期的なモックはあまり役に立たないことがすぐに明らかになりました。それは私のテストをセットアップして推論するのを難しくするからです。一方で、偽のファイルシステムを持つことは素晴らしいことであり、セットアップは非常に簡単だと思います。 ルビーの人たちがまたやったようです。私がルビーに求めているのはまさにそれです:http://ozmm.org/posts/fakefs.html。 Javaにリモートで似ているものはありますか?

6
Djangoのself.client.login(…)は単体テストでは機能しません
ユニットテスト用のユーザーを2つの方法で作成しました。 1)「auth.user」のフィクスチャを次のように作成します。 { "pk": 1, "model": "auth.user", "fields": { "username": "homer", "is_active": 1, "password": "sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2", ... } } 一見重要でない部分は省略しました。 2)setUp関数で「create_user」を使用します(ただし、すべてをフィクスチャクラスに保持したいのですが): def setUp(self): User.objects.create_user('homer', 'ho...@simpson.net', 'simpson') どちらの場合も、パスワードはシンプソンであることに注意してください。 この情報がテストデータベースに何度も正しく読み込まれていることを確認しました。User.objects.getを使用してUserオブジェクトを取得できます。「check_password」を使用して、パスワードが正しいことを確認できます。ユーザーはアクティブです。 それでも、常に、self.client.login(username = 'homer'、password = 'simpson')は失敗します。理由がわからない。私はこれに関連するすべてのインターネットの議論を読んだと思います。誰か助けてもらえますか? 私の単体テストのログインコードは次のようになります。 login = self.client.login(username='homer', password='simpson') self.assertTrue(login) ありがとう。

9
関数をラップする前にPythonデコレータにパッチを適用できますか?
PythonMockライブラリを使用してテストしようとしているデコレータを備えた関数があります。mock.patch実際のデコレータを、関数を呼び出すだけのモックの「バイパス」デコレータに置き換えるために使用したいと思います。 私が理解できないのは、実際のデコレータが関数をラップする前にパッチを適用する方法です。パッチターゲットでいくつかの異なるバリエーションを試し、パッチとインポートステートメントを並べ替えましたが、成功しませんでした。何か案は?

6
Pythonの「unittest」を使用してファイルを書き込む関数のユニットテストを行う方法
出力ファイルをディスクに書き込むPython関数があります。 Pythonのunittestモジュールを使用してユニットテストを作成したいと思います。 ファイルの同等性をどのように主張する必要がありますか?ファイルの内容が予想されるものと異なる場合、エラーが発生します+違いのリスト。Unixのdiffコマンドの出力と同じです。 それを行うための公式または推奨される方法はありますか?

12
プライベート/保護されたメソッドを単体テストする必要がありますか?
TDD開発では、通常、最初に行うことは、インターフェイスを作成してから、そのインターフェイスに対する単体テストの作成を開始することです。TDDプロセスを進めると、インターフェイスを実装するクラスが作成され、ある時点で単体テストに合格することになります。 ここで私の質問は、インターフェイスによって公開されるメソッド/プロパティをサポートするためにクラスに記述しなければならない可能性のあるプライベートメソッドと保護されたメソッドについてです。 クラスのプライベートメソッドには独自の単体テストが必要ですか? クラス内の保護されたメソッドには、独自の単体テストが必要ですか? 私の考え: 特に私はインターフェースにコーディングしているので、保護された/プライベートなメソッドはブラックボックスなので心配する必要はありません。 私はインターフェースを使用しているので、定義されたコントラクトがインターフェースを実装するさまざまなクラスによって適切に実装されていることを検証するための単体テストを作成しています。したがって、プライベート/保護されたメソッドについて心配する必要はなく、それらを呼び出す単体テストを介して実行する必要があります。インターフェイスによって定義されたメソッド/プロパティ。 コードカバレッジでプロテクト/プライベートメソッドがヒットしていることが示されない場合は、適切な単体テストがないか、使用されていないため削除する必要のあるコードがあります。
82 unit-testing  tdd 


6
django-celeryを使用したユニットテスト?
django-celeryプロジェクトのテスト方法を考え出そうとしています。ドキュメントのメモを読みましたが、実際に何をすべきかについてはよくわかりませんでした。実際のデーモンでタスクをテストすることについては心配していません。コードの機能だけを心配しています。主に私は疑問に思っています: task.delay()テスト中にバイパスするにはどうすればよいCELERY_ALWAYS_EAGER = Trueですか(設定を試みましたが、違いはありませんでした)? 実際にsettings.pyを変更せずに、推奨されるテスト設定をどのように使用しますか(それが最善の方法である場合)? 引き続き使用できますmanage.py testか、それともカスタムランナーを使用する必要がありますか? 全体として、セロリでテストするためのヒントやヒントは非常に役立ちます。

4
Visual Studioには単体テストのコードカバレッジがありますか?
Visual Studio 2015 Community Editionを使用していて、コードをテストするための単体テストを作成するオプションがあることは知っていますが、コードカバレッジをテストするオプションが表示されないため、VisualStudioにあるかどうかを知りたいです。このオプション、またはサードパーティのプラグインを使用する必要がある場合。 サードパーティのソリューションを使用する必要がある場合、それは良いオプションですか?

7
「pythonsetup.pytest」からunittestdiscoverを実行する方法は?
にpython setup.py test相当するものを実行する方法を理解しようとしていますpython -m unittest discover。run_tests.pyスクリプトを使用したくないし、外部テストツール(noseまたはなどpy.test)も使用したくない。ソリューションがPython2.7でのみ機能する場合は問題ありません。 で、configのフィールドやフィールドにsetup.py何かを追加する必要があると思いますが、正しく機能する組み合わせが見つからないようです。test_suitetest_loader config = { 'name': name, 'version': version, 'url': url, 'test_suite': '???', 'test_loader': '???', } これは、unittestPython 2.7に組み込まれているものだけを使用して可能ですか? 参考までに、私のプロジェクト構造は次のようになります。 project/ package/ __init__.py module.py tests/ __init__.py test_module.py run_tests.py <- I want to delete this setup.py 更新:これはで可能ですがunittest2、私はだけを使用して同等のものを見つけたいですunittest https://pypi.python.org/pypi/unittest2から unittest2には、非常に基本的なsetuptools互換のテストコレクターが含まれています。setup.pyでtest_suite = 'unittest2.collector'を指定します。これにより、setup.pyを含むディレクトリのデフォルトパラメータを使用してテスト検出が開始されるため、例として最も役立つ可能性があります(unittest2 / collector.pyを参照)。 今のところ、私はと呼ばれるスクリプトを使用していますrun_tests.pyが、を使用するソリューションに移行することでこれを取り除くことができると期待していますpython setup.py test。 ここだrun_tests.py、私は削除するために願っています: …

10
AssertEquals2リストは順序を無視します
それは本当に簡単な質問だと思います。しかし、どういうわけか私はグーグルで答えを見つけることができません。 文字列のリストが2つあると仮定します。最初の文字列には「文字列A」と「文字列B」が含まれ、2番目の文字列には「文字列B」と「文字列A」が含まれます(順序の違いに注意してください)。それらをJUnitでテストして、まったく同じ文字列が含まれているかどうかを確認したいと思います。 順序を無視する文字列の同等性をチェックするアサーションはありますか?与えられた例では、org.junit.Assert.assertEqualsはAssertionErrorをスローします java.lang.AssertionError: expected:<[String A, String B]> but was:<[String B, String A]> 回避策は、最初にリストをソートしてから、それらをアサーションに渡すことです。しかし、私は自分のコードをできるだけシンプルでクリーンにしたいと思っています。 Hamcrest 1.3、JUnit 4.11、Mockito1.9.5を使用しています。

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