問題タブ [shim]

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 投票する
0 に答える
1011 参照

ruby-on-rails - Rbenv でバンドラーが失敗する

Rails 2.3.2 アプリケーションを継承し、他の gem やソフトウェアの古いバージョンを含む rbenv の下で ruby​​ 1.8.7 を使用して動作するようにしました。

今、Gemfile を生成し、バンドル チェック、インストールなどのバンドル コマンドを実行して検証しようとしましたが、これらの操作のいずれも失敗します。rbenv bundler プラグインをインストールしたところ、見た目が少し軽くなりましたが、まだわかりません。

私のバンドラーのインストール:

ルビー:

Rbenv も今私に問題を与えます:

バンドラー用のシムがあるはずではありませんか?bundler を直接呼び出すようです。

迷っています。誰かがこれで私を助けることができれば、私はうれしいです.

ps:これも発見しました:

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

unit-testing - Shims を使用してプライベート メソッドをテストする

Shim を使用して、DataSyncCore というこのクラスのプライベート メソッドの 1 つをテストしようとしています。私は shim を初めて使用し、「プロパティまたはインデクサーの GetEnvironmentString は、アクセサーが不足しているため、このコンテキストでは使用できません。これを修正するにはどうすればよいですか」というエラーが表示される理由がわかりません。 ?

これは私の単体テストです:

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

requirejs - RequireJS モジュールが shim されたモジュールを読み込もうとする

組織内の別のチームによって作成された一部の JavaScript コードの RequireJS shim を作成しようとして問題が発生しています。スクリプトは、通常の HTML スクリプトを介して次のようにロードされます。

私のmain.jsには以下が含まれています:

そして、さまざまな方法でカスタム モジュールにアクセスしようとしましたが、これが現在のコードです。

しかし、ページ/アプリが読み込まれるたびに、RequireJS から読み込みに失敗したことを示すエラーが表示されますapp/MyCustomModule.js(サーバーからファイルを要求しようとしたコンソールに 404 エラーが表示されます)。私は何を間違っていますか?

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

unit-testing - Microsoft Fakes と静的でジェネリックなメソッドによるシミング

単体テスト用に静的ジェネリック メソッドをシムする必要があります。ただし、Fakes に shim オブジェクトを作成させることはできないようです。これを達成する方法を知っている人はいますか?

特に、Newtonsoft の JsonConvert.DeserializeObject<>() をシムしたい

0 投票する
2 に答える
4357 参照

c# - シム・ア・ボイド・メソッド

次の(レガシー、前任者から継承)VB.Net(フレームワーク2.0)のクラスとメソッドがあり、例外でシステムイベントログを作成します。

これを C# (フレームワーク 4.5) 単体テスト プロジェクトでテストしようとしていますが、ロジックの一部ではaValue、コンマで区切られた 2 つの数字が必要です。そうでない場合は、例外とイベント ログがスローされます。

例外が正しくスローされることを確認するために、次の単体テストを設定しました。

MyMethodロジックが予想される例外を引き起こすため、これはすべてうまく機能し、テストに合格します。ただし、イベント ログは書き込まないようにします。MyUtitlityClassでは、呼び出しを傍受して代わりに何もしないように Shim するにはどうすればよいでしょうか。LogError

私が見た Fakes の例はすべて、偽の値を返すメソッドに関するものです (そして、すべてC# で記述されています!) そのようなパターンを実装しようとすると、LogError に getter がないというエラーが発生します。

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

c# - Microsoft Fakes を介して ConcurrentDictionary (C#) で長い外部依存関係をシムする方法は?

私がテストする必要があるコードでは、そのような外部依存関係が見つかりました:

var something = GConfig.SConfig[Type.ServiceType1].Names;

この部分のコードは次のようになります。

その依存関係をシムする必要がありますが、私自身では完全な解決策を見つけることができず、部分的にしか見つかりません:

GConfigIt (およびシミング名) の場合:Fakes.ShimGConfigIt.AllInstances.NamesGet

SConfig をシミングする場合:Fakes.ShimGConfig.AllInstances.SConfigGet

しかし、接続が見つかりません。完全にシムする方法です。

PS 私は単なるテスターであり、既存のコードを変更することはできません。変更を行うには、開発者にそれを行うよう説得する必要があります (つまり、GConfig の追加インターフェイス)。しかし、開発者は、それが「簡単なテスト」または「テストのためのテスト」のためだけの変更ではなく、実際に行う必要があることを確認する必要があります。

0 投票する
2 に答える
4387 参照

c# - Fakes がビルド済みの Fakes プロジェクトから Fakes dll を正しく参照しないのはなぜですか?

以下で説明するように、別のプロジェクトからmscorlib 偽の DLLを参照しようとすると問題が発生します。

MS Fakes を使用して単体テストを作成している多数の VS12 ソリューションがあります。次の URL の提案に基づいて、偽の Dll のためだけにプロジェクトを作成することにしました: Microsoft Fakes のコード生成、コンパイル、および命名規則。アイデアは、偽の DLL の場所がローカライズされ、テスト プロジェクト全体に多数の偽の DLL をばらまく必要がないということです。(これを一般的なフェイク ライブラリと呼びます。)

現在の単体テストではPresentationCoreSystem.Managementとのシムを使用してSystemいます。ただし、私が使用しているシステム shim は、実際にはmscorlib.dll、Convert (静的クラス) と DriveInfo (シール クラス) にあります。mscorlib のこれら 2 つのクラスのみが必要なので (今のところ)、mscorlib 用に次の .fakes ファイルを作成しました。

PresentationCore と SystemManagement については、同様の .fakes ファイルがあり、クラスをクリアしてから名前で追加します。

ただし、私のテスト プロジェクトでは、共通のフェイク ライブラリから mscorlib.4.0.0.0.Fakes DLL の参照を追加すると、Convert シムと DriveInfo シムを使用したテストが実行されません。代わりに、テスト メソッドは Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotSupportedException をスローし、サポートされていない shimmed クラスを指定します。PresentationCore および System.Management の機能を使用するテストは、共通のフェイク ライブラリを参照する場合でも機能します。

ただし、System の Fakes アセンブリをテスト プロジェクトに直接 (および mscorlib を間接的に) 追加した場合、テスト プロジェクトにまったく同じ mscorlib.fakes ファイルを作成し、ローカルのmscorlib.4.0.0.0.Fakes Dll への参照を追加すると、一般的なフェイク ライブラリにリンクしたときに例外をスローしたテストは、問題なく実行されます。

オブジェクト ブラウザーを使用して、一般的なフェイク ライブラリの mscorlib フェイク DLL を調べ、ローカルでビルドされたものと比較したところ、同じように見えます。

一般的なフェイク ライブラリで mscorlib フェイクを参照しても機能しない理由を知っている人はいますか?

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

unit-testing - ShimSPWeb().LocaleGet が利用できない?

単体テストの目的で dll の偽のアセンブリを追加できる VisualStudio 2012 の新機能を調べ始めました。私は SharePoint 2010 を使用していますが、SharePoint API に依存するコードを単体テストするのは面倒です。

Microsoft.SharePoint の偽のアセンブリを追加したところ、問題なく動作しましたが、メソッドをオーバーライドする必要があるところまで来ましたSPWeb.Locale。それは簡単だと思いました。のような方法があると思っていたのShimSPWeb.LocaleGetですが、ありません。

Localeこれは、私に関する唯一のオプションです。ShimSPWeb

ここに画像の説明を入力

要するに:利用可能なものがあるはずshimWeb.LocaleGetです。