問題タブ [justmock]
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.
c# - JustMockを使用してConfigurationManager.AppSettingsをモックする
次の指示に従います:http ://www.telerik.com/help/justmock/advanced-usage-static-mocking.html
ConfigurationManager.AppSettingsのモックに失敗しました。これが私が使用しているコードです...
これは私が受け取るエラーです。
Assert.AreEqualが失敗しました。期待される:。実際:<(null)>。
このオブジェクトをモックすることは可能ですか?
[編集]私もトライアルを使用しています。
c# - このメソッドをテストするより良い方法はありますか?
以下のメソッドでいくつかの単体テストを実行したいと思います。モック化されたインターフェイス ( vehicleObject ) をProcessVehiclesに渡していますが、渡されるとすぐに、DeterminVehicleTypeによって再割り当てされるため、モック化されたオブジェクトは役に立ちません。私の最初のアイデアは、ブール値を作成して、 DeterminVehicleTypeを実行し、それをパラメーターとして追加する必要があるかどうかを判断することですが、それは非常に面倒に聞こえます。これを回避するより良い方法はありますか?
Mock オブジェクトが注入されるメソッド:
元のコード:
注:クラスが実際に使用されるときに null ではない可能性があるため、DetermineVehicleTypeを呼び出す前に vehicleObject が null であるかどうかを確認できません。長期的には、完全なリファクタリングが答えになるかもしれませんが、現時点では、それは私が探している答えではないかもしれません。
メソッド IdentifyVehicleType は非公開です
注: コードの匂いがあることはわかっています。これは、現在動作しているレガシー コードです。私はそれを変更せずにテストしたいので、見栄えが良く、本番環境で壊れます。完全なリファクタリングが唯一のオプションかもしれませんが、モック ツールを使用した別のソリューションがないことを確認したいだけです。
unit-testing - FakeItEasy の JustMock の ReturnsCollection() と同等ですか?
JustMockを使用すると、次のように Linq to SQL のリストを使用して DataContext テーブルを簡単にモックできます。ここでは、ReturnsCollection() を介して IEnumerable が各 DataContext のテーブルの代わりになり、偽のデータをプラグインできます。
そして、これがテスト対象のメソッドになります。
できれば FakeItEasy で、Linq to SQL をテストする目的でIEnumerable<T>
代わりに使用できる同じ魔法を実行する方法を探しています。Table<T>
c# - SPServiceContext をモックしようとすると Telerik JustMock が例外をスローする
UserProfile マネージャーを使用する SharePoint 2010 Web パーツの単体テストを作成しようとしています。UserProfileManager をモック化するには、SPServiceContext もモック化する必要があります。
次のように、モック変数を割り当てようとすると:
次の例外がスローされます。
アセンブリ 'Telerik.JustMock, Version=2013.1.507.0, Culture=neutral, PublicKeyToken=721b6c5bc0326b3a' のタイプ 'Telerik.JustMock.MockException' は、シリアル化可能としてマークされていません。
私が間違っていることは何か分かりますか?
c# - JustMock テスト中のメソッド内で行われたメソッド呼び出しを無視する方法
私は単体テストの作成を支援するために JustMock を使用していますが、かなり単純だと思っていたものにたどり着きましたが、答えが見つかりません。コードを投稿することはできませんが、できる限り説明しようと思います。私がやろうとしていることを示す例を思いつきました。Class2 の CloseConnection メソッドを呼び出さずに、Class1 の Close メソッドをテストしたいと考えています。Class2 の CloseConnection のインスタンスで Mock.Arrange を使用してみましたが、アレンジするインスタンスに固有のものだと思います。単体テストとモック (サンプル コードの下のモック コード) をセットアップした後、Class1 の Close メソッド内でデバッグします。Class2 の依存関係が Class1 のコンストラクター内で作成され、アクセス権がないため、Class2 から CloseConnection メソッドを呼び出します。それに直接。
Class1 の Close メソッドをテストし、JustMock を使用して Class2 の CloseConnection メソッドの呼び出しを無視する方法を知っている人はいますか?
私が試してみました:
モック化されたおよびモック化されていない class2 インスタンスとさまざまな引数 (つまり、Arg.IsAny()) とともに、このメソッド呼び出しの発生を防ぐことはできません。
コードのリファクタリングは私にとってオプションではないため、依存関係を注入するように変更することはできません。justmock を使用したコンストラクターのモックについて読みましたが、Class1 が使用する別のコンストラクターを作成する代わりに、コンストラクターを無視しているようです。 Class2にアクセスできるようにします。
何か案は?
更新 1: Telerik が私に戻ってきて、.IgnoreInstance() を使用してみるように言いましたが、それでも CloseConnection の呼び出しは妨げられませんでした。Telerik からの別の応答を待っています。
unit-testing - JustMock で SharePoint 2010 UserProfileManager をモックしようとすると例外が発生する
Sharepoint 2010 Web パーツを効果的に単体テストするために、UserProfileManager のモック バージョンを作成しようとしています。このコードを実行するたびに、以下の例外がスローされます。Sharepoint マシン (実際には 2 つの異なる Sharepoint マシン) で UserProfileManager を呼び出すコードをデバッグすると、この機能が動作することを確認しました。問題のコードは次のとおりです。
他の誰かがこの問題を見たことがありますか?
visual-studio-2012 - 「このバージョンの JustMock は期限切れです!」ライセンス購入後
最近、Telerik JustMock のライセンスを購入しました。Telerik コントロール パネルでは、購入した製品のリストの下に JustMock が表示されます。JustMock Visual Studio 拡張機能を有効にして、Visual Studio のテスト エクスプローラーでテストを実行しようとすると、次のような例外が表示されます。
Telerik.JustMockExpiredException : This version of JustMock has expired!
すべての Telerik Visual Studio 拡張機能をアンインストールし、Windows の [プログラム/機能] からすべての Telerik をアンインストールしてから、コントロール パネルを再インストールし、JustMock を再インストールしましたが、問題は解決しません。注意すべき点として、コントロール パネルを再インストールすると、ユーザー名とパスワードが記憶されていたので、情報を誤ってキャッシュしている構成ファイルがどこかにあると推測されます。
この問題の根本原因として考えられるのは、私が個人のメール アドレスで JustMock を試用していたのに、それが会社によって購入され、仕事用のメール アドレスに割り当てられたことです。現在、職場の住所でコントロール パネルにログインしていますが、それを変更する場所が他にありません。
JustMockRunner.exe 経由で nunit.exe を実行すると、同じ問題が発生します。