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

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

30
単体テストを作成するときに何をテストするかをどのようにして知っていますか?[閉まっている]
休業。この質問はもっと集中する必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 この質問を改善する C#を使用Userして、ユーザー名、パスワード、アクティブフラグ、名、姓、フルネームなどを持つクラスが必要です。 ユーザーを認証して保存する方法があるはずです。メソッドのテストを書くだけですか?また、プロパティは.Netのゲッターおよびセッターであるため、プロパティのテストについても心配する必要がありますか?
127 c#  unit-testing  tdd 

12
SimpleTestとPHPunit
この両方の経験を持っている人なら誰でも、この2つの違いの重要性に光を当てることができるかどうか疑問に思っていましたか? 特定のケースに適したものにする特定の強さはありますか?

11
単体テストのROIの明確な証拠はありますか?
ユニットテストは私には素晴らしいように聞こえますが、重要な価値がある他の人を納得させることができない限り、実際にそれを学ぶことに時間を費やす必要があるかどうかはわかりません。私は、他のプログラマー、そしてより重要なことに、管理のBean-counterに、テストフレームワークの学習、テストの作成、それらの更新の維持などに費やされるすべての余分な時間は、それ自体、そしてそれからいくらかお金を払うことになると説得する必要があります。 どんな証拠がありますか?誰かが実際に同じソフトウェアを2つの別々のチームで開発しました。1つは単体テストを使用し、もう1つは使用せず、結果を比較しましたか?疑わしい。私はそれを「インターネットで調べて、誰もがそれについて話しているので、それが正しいことであるに違いない」と正当化することになっているのでしょうか? 単体テストは努力に値することを素人に納得させる確かな証拠はどこにありますか?
127 unit-testing  tdd 

7
RequireJSで単体テストの依存関係をモックするにはどうすればよいですか?
テストしたいAMDモジュールがありますが、実際の依存関係をロードするのではなく、その依存関係をモックアウトします。requirejsを使用しており、モジュールのコードは次のようになります。 define(['hurp', 'durp'], function(Hurp, Durp) { return { foo: function () { console.log(Hurp.beans) }, bar: function () { console.log(Durp.beans) } } } どのように私はモックできるhurpとdurp私は効果的にユニットテストできるように?

6
JUnit:統合テストとユニットテストの分割
私はJunitテストの負荷を継承しましたが、これらのテスト(ほとんどが機能していないことを除いて)は、実際の単体テストと統合テスト(外部システム、dbなどが必要)の混合です。 だから私はそれらを実際に分離する方法を考えているので、ユニットテストを素晴らしく迅速に実行でき、その後統合テストを実行できます。 オプションは... それらを別々のディレクトリに分割します。 (v3から)Junit4に移動し、クラスに注釈を付けてそれらを分離します。 ファイルの命名規則を使用して、クラス(AdapterATestとAdapterAIntergrationTest)を識別します。 3には、Eclipseに「選択したプロジェクト/パッケージまたはフォルダーですべてのテストを実行する」オプションがあるという問題があります。したがって、統合テストを実行するだけでは非常に困難になります。 2:開発者がユニットテストクラスで統合テストを作成し始める可能性があり、混乱するだけです。 1:最も近い解決策のように見えますが、私の直感はそこにもっと良い解決策があるはずだと言っています。 それが私の質問です。統合テストと適切な単体テストをどのように分解するのでしょうか。

20
NUnitの2つのオブジェクト間の等価性を比較する
あるオブジェクトが別のオブジェクトと「等しい」と断言しようとしています。 オブジェクトは、一連のパブリックプロパティを持つクラスの単なるインスタンスです。NUnitにプロパティに基づいて同等性をアサートさせる簡単な方法はありますか? これは私の現在の解決策ですが、もっと良いものがあると思います: Assert.AreEqual(LeftObject.Property1, RightObject.Property1) Assert.AreEqual(LeftObject.Property2, RightObject.Property2) Assert.AreEqual(LeftObject.Property3, RightObject.Property3) ... Assert.AreEqual(LeftObject.PropertyN, RightObject.PropertyN) 私がしようとしているのは、NUnitが2つのコレクションの内容が同一であることを確認するCollectionEquivalentConstraintと同じ精神です。

10
djangoユニットテストを複数のファイルに分散する方法は?
私はpython-djangoアプリケーションを持っています 単体テストフレームワークを使用しています テストは、モジュールディレクトリの「tests.py」ファイルに配置されています。 私はテストを実行しています ./manage.py test app 今… tests.pyファイルはかなり大規模/複雑になっている/汚いです tests.pyテストの小さなコレクションに分割したい... どうやって?

8
Djangoのテストデータベースをメモリ内でのみ実行する方法は?
Djangoの単体テストの実行には時間がかかるので、それを高速化する方法を探しています。SSDのインストールを検討していますが、SSDにも欠点があります。もちろん、コードでできることはありますが、構造的な修正を探しています。毎回データベースを再構築/南マイグレーションする必要があるため、単一のテストを実行するのも遅くなります。これが私の考えです... テストデータベースは常に非常に小さいことがわかっているので、テストデータベース全体を常にRAMに保持するようにシステムを構成できないのはなぜですか。ディスクには絶対に触れないでください。Djangoでこれをどのように設定しますか?MySQLは本番環境で使用するものなので、引き続き使用したいのですが、SQLite 3などでこれが簡単にできる場合は、その方法を使用します。 SQLiteまたはMySQLには、完全にメモリ内で実行するオプションがありますか?RAMディスクを構成し、そこにデータを格納するようにテストデータベースを構成することは可能ですが、特に消去され続けるため、Django / MySQLに特定のデータベースに別のデータディレクトリを使用するように指示する方法がわかりません。各実行を再作成しました。(Mac FWIWを使用しています。)

10
GTestとCMakeの使用を開始する方法
私は最近、C ++プロジェクトをコンパイルするためにCMakeを使用することで売却されました。今、私のコードのいくつかの単体テストを書き始めたいと思います。私はこれを支援するためにGoogle Testユーティリティを使用することを決定しましたが、開始するにはいくつかの助けが必要です。 一日中、さまざまなガイドや例を読んでいます。入門書、IBMの紹介、 SOに関するいくつかの質問(こことここ)や、他の情報源を忘れてしまいました。まだまだたくさんあると思いますが、どういうわけかまだ問題があります。 私は現在、最も基本的なテストを実装しようとしています。これは、gtestが正しくコンパイル/インストールされ、機能していないことを確認するためです。唯一のソースファイル(testgtest.cpp)は、前の回答からほぼ正確に取得されます。 #include <iostream> #include "gtest/gtest.h" TEST(sample_test_case, sample_test) { EXPECT_EQ(1, 1); } 関連付けられているCMakeLists.txtは次のとおりです。 cmake_minimum_required(VERSION 2.6) project(basic_test) # Setup testing enable_testing() find_package(GTest REQUIRED) include_directories(${GTEST_INCLUDE_DIR}) # Add test cpp file add_executable(runUnitTests testgtest.cpp ) # Link test executable against gtest & gtest_main target_link_libraries(runUnitTests ${GTEST_LIBRARY_DEBUG} ${GTEST_MAIN_LIBRARY_DEBUG}) add_test( NAME runUnitTests COMMAND …

2
Pythonインポートされたモジュールから関数をモックする
@patchインポートしたモジュールから関数を作成する方法を知りたい。 これが今のところです。 app / mocking.py: from app.my_module import get_user_name def test_method(): return get_user_name() if __name__ == "__main__": print "Starting Program..." test_method() app / my_module / __ init__.py: def get_user_name(): return "Unmocked User" test / mock-test.py: import unittest from app.mocking import test_method def mock_get_user(): return "Mocked This Silly" @patch('app.my_module.get_user_name') class MockingTestTestCase(unittest.TestCase): …

5
MockitoとJMockitの比較-なぜMockitoはJMockitよりも優れているのですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私のプロジェクトで使用するモッキングフレームワークを調査していて、それをJMockitとMockitoに絞り込んでいます。 Stackoverflow でMockitoが「Javaに最適なモックフレームワーク」に選ばれたことに気づきました。JMockitの「モッキングツール比較マトリックス」の 機能を比較すると、JMockitには複数の異なる機能があるようです。 誰もが何に関する具体的な情報(ない意見)持っていますMockitoを用いて達成することができない行うことができますJMockitその逆と副の?

11
「出力ディレクトリにコピー」をユニットテストで機能させるにはどうすればよいですか?
テストを実行する前に単体テストプロジェクトをビルドすると、テスト出力がTestResultsフォルダーにコピーされ、テストが実行されます。私が抱えている問題は、Debug / binディレクトリ内のすべてのファイルがTestResultsプロジェクトにコピーされるわけではないことです。 Debug / binディレクトリにコピーされたファイルをTestResultsフォルダーにもコピーするにはどうすればよいですか?

6
Django DoesNotExist例外をインポートするにはどうすればよいですか?
UnitTestを作成して、オブジェクトが削除されたことを確認しようとしています。 from django.utils import unittest def test_z_Kallie_can_delete_discussion_response(self): ...snip... self._driver.get("http://localhost:8000/questions/3/want-a-discussion") self.assertRaises(Answer.DoesNotExist, Answer.objects.get(body__exact = '<p>User can reply to discussion.</p>')) エラーが発生し続けます: DoesNotExist: Answer matching query does not exist.

8
moqでConfigurationManager.AppSettingsをモックする方法
私はモックする方法がわからないコードのこの時点で行き詰まっています: ConfigurationManager.AppSettings["User"]; ConfigurationManagerをモックする必要がありますが、手掛かりがなく、Moqを使用しています。 誰かが私にチップを与えることができますか?ありがとう!
122 c#  unit-testing  moq 


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