問題タブ [mspec]
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.
unit-testing - MSpec の構成のヘルプ
リグ: win7 64bit、vs2010、mvc v2、TestDriven.Net 3.0、Reshaper 5.0、MSpec 0.3
私は最近新しいプロジェクトを開始し、mspec を使用したいと考えています。
(1) Machine.Specifications.ReSharperRunner.5.0.dll と Machine.Specifications.dll を JetBrains\ReSharper\5.0\Bin\Plugins\Machine.Specifications にコピーしました (2) Machine.Specifications.TDNetRunner.dll を TestDriven.NET 3\ にコピーしました機械・仕様
テストを実行しようとすると、次のエラーが表示されます: System.IO.FileNotFoundException: ファイルまたはアセンブリを読み込めませんでした 'Machine.Specifications
このエラーがどこから来ているのかわかりません。
vs2010 menu -> ReSharper -> Plugins は MSpec プラグインを表示します。vs2010 メニュー ->ReSharper -> オプション -> ツール -> ユニット テスト にも MSpec ユニット テスト プロバイダーが表示されますが、MSTest や nUnit のようにクリックしても詳細は表示されません。
私はこれを見つけました: http://marcinobel.com/index.php/mspec-bdd-installer/これは動作しませんでした。私もこれを試しました: http://eduncan911.com/blog/registering-mspec-runners-for-testdriven-net-on-windows-x64.aspxこれも機能しませんでした。今、私は自分のレジストリを台無しにしたのではないかと心配しています。
ガイダンスはありますか?
完全なエラー:
テスト 'F:Tests.OTBRadio.Tasks.AlbumTasksSpecs.when_the_album_tasks_are_asked_to_get_all.context' が失敗しました: ファイルまたはアセンブリ 'Machine.Specifications, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Machine.Specifications、Version=0.3.0.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。ファイル名: TestDriven.TestRunner.AdaptorTestRunner.
visual-studio-2010 - VisualStudio2010および.NET4でのMSpecランナーの使用
私はMSpecの大ファンなので、当然、VS2010でもすぐに使用したいと思いました。MSpecランナーをVisualStudioの外部ツールとして定義して、ツールバーアイテムとして常に表示できるようにしました。
とにかく、.NET 4.0ソリューションでMSpecランナー(mspec.exe)を使用しようとすると、次のエラーが発生します。
Could not load file or assembly 'file:///C:\Users\[SOMEUSER]\[SOME_FOLDERS]\bin\Debug\[PROJECT].Specs.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
Resharper 5ランナーでスペックを実行できるので、大きなドラマではありませんが、終わりがないので気になります:þ
皆さんは問題が何であるかについて何か考えがありますか?Mspecソースコード全体を.NET4.0ソリューションとして再コンパイルする以外に、私が本当にやりたくないソリューションはありますか?
前もって感謝します。
セルギ
c# - MSpec を使用した ASP.NET MVC コントローラー アクションの非常によく似た仕様を DRY する (BDD ガイドライン)
VoteUp(int id) と VoteDown(int id) という 2 つの非常によく似たコントローラー アクションに対して、2 つの非常によく似た仕様があります。これらのメソッドにより、ユーザーは投稿に賛成票または反対票を投じることができます。StackOverflow の質問に対する賛成/反対の投票機能のようなものです。仕様は次のとおりです。
反対票を投じる:
投票:
だから私は2つの質問があります:
これら 2 つの仕様を DRY するにはどうすればよいですか? コントローラーアクションごとに1つの仕様を実際に持つべきですか? 私は通常そうすべきだと知っていますが、これは自分自身を何度も繰り返しているように感じます.
It
同じ仕様内で2番目を実装する方法はありますか? には、 2 回It should_not_let_the_user_vote_more_than_once;
呼び出す仕様が必要であることに注意してください。個別の仕様を作成するのが最も簡単なのはわかっていますが、同じコードをもう一度controller.VoteDown(1)
コピーして貼り付ける必要があります...
私はまだ BDD (および MSpec) のコツをつかんでいますが、多くの場合、どちらに進むべきか、または BDD のベスト プラクティスやガイドラインが何であるかが明確ではありません。どんな助けでも大歓迎です。
visual-studio-2010 - MSpecの実行中にエラーが発生しました-トラブルシューティングするにはどうすればよいですか?
このガイドに従ってMSpecをインストールして使用していますが、彼が初めてMSpecを実行するステップで、次のエラーが発生します。
ファイルまたはアセンブリ'file:/// [...] \ Nehemiah \ Nehemiah.Specs \ bin \ Debug\Nehemiah.Specs.dll'またはその依存関係の1つを読み込めませんでした。このアセンブリは、現在ロードされているランタイムよりも新しいランタイムによってビルドされ、ロードできません。
彼がVS2008を使用していて、私がVS2010を使用しているために違いが生じ、これまでのところすべてが機能していることを除いて、私は-私の知る限り-彼がこのステップまで行ったのとほぼ同じようにすべてを行いました。プロジェクトNehemijah.Specs(およびソリューション全体)は、Visual Studioとビルドサーバーの両方で問題なくビルドされ、イベントビューアーで役立つものが見つかりません(ただし、ここで適切な場所を探していない可能性があります)。 。)
何をすべきか?
asp.net-mvc - MSpecを使用したActionFilterAttributesのテスト
私は現在、主に(T / B)DDの新しい方法を学び、どのテクノロジーを使用するかについて知識に基づいた決定を下せるようにするために、MSpecを把握しようとしています。以前は、ほとんど(読み取り:のみ)Moqで組み込みのMSTestフレームワークを使用していたため、BDDは私にとってまったく新しいものです。
ASP.NET MVCアプリを作成していますが、 PRGを実装したいと考えています。前回これを行ったときは、アクションフィルターを使用してModelState
を介してエクスポートおよびインポートしましTempData
た。これにより、を返すことができRedirectResult
、ユーザーがビューを取得したときに検証エラーが引き続き発生します。私は2つのことを検証することによってそのシナリオをテストしました:
a)私が書いたExportModelStateAttributeが適用されたこと(私のコントローラーのテストの中で)
b)属性が機能したこと(アクションフィルター属性のテストの中で)
ただし、BDDでは、動作にもっと関心があり、実装にはもっと関心がないはずだと理解しました。つまり、アクションの実行が終了したときにモデルの状態がtempdataにあることを確認する必要があります。必ずしも、属性を介して実行されているとは限りません。
さらに複雑なことに、テストでアクションを直接呼び出すときに属性が実行されないため、アクションを呼び出してジョブが完了したかどうかを確認することはできません。
MSpecでこれをどのようにスペック/テストする必要がありますか?
c# - デリゲートを「継承」できますか? Moq と MSpec を競合することなく組み合わせる方法を探しています
MSpecを BDDに使い始め、昔からモッキング フレームワークとして Moq を使用しています。ただし、どちらも を定義しているため、を使用するたびに名前空間を明示的に指定しなければ、同じコード ファイルに と を含めることIt
はできません。MSpec を使用したことのある人なら誰でも、これが実際のオプションではないことを知っています。using Moq
using Machine.Specifications
It
この問題の解決策をググったところ、このブロガーは自分で MSpec をフォークし、 、Given
、When
の並列サポートを実装したと述べていますThen
。
私はこれをやりたいのですが、たとえばGiven
、フレームワーク全体を調べて への参照を探したりEstablish
、そこにあるコードを変更したりして、どちらかをOKにする必要があると宣言する方法を理解できません。
参考までにEstablish
、Because
とIt
は次のように宣言されています。
私が必要としているのは、何らかの方法で を宣言することです。Given
これにより、コードが を検索するすべての場所で ,Establish
もGiven
OK になります。
c# - このテストが失敗するのはなぜですか?
次のアクションメソッドをテスト/仕様化しようとしています
次のMSpec仕様を使用します。
ここwith_a_change_password_input_model
で、は入力モデルをインスタンス化し、IMembershipServiceなどのモックを設定する基本クラスです。テストは最初に失敗しThenIt
(これは、Moqとの競合を回避するために使用しているエイリアスです...)、次のエラーの説明があります:
Machine.Specifications.SpecificationException:タイプはSystem.RuntimeTypeである必要がありますが、[null]です。
しかし、私は何かを返しています-実際にはRedirectToRouteResult
-メソッドが終了できるそれぞれの方法で!MSpecが結果を信じるのはなぜnull
ですか?
c# - Ajax リクエストのモックとスタブ
昨日、以下のメソッドをリファクタリングして、完全なビューまたは部分的なビューを返しました。
しかし今、私のテストは壊れており、if
ステートメントで失敗しています。私はグーグルを行ったところ、次のようなものでHTTPリクエストをモック/スタブできることがわかりました。
テストで上記を実装しましたが、まだ落ちています。
テスト
エラー
Request.IsAjaxRequest()
コントローラーのリクエストを ajax リクエストとして渡すにはどうすればよいですか???
よろしくリッチ
編集-この投稿を見つけました。私の ajax テストは現在成功していますが、非 ajax はまだ失敗しています。
.net - Resharper 5.0およびMachine.Specification(個々のテストはグレー表示されています)
Resharper5.0を使用したマシン仕様テストの実行に問題があります。個々のテストは、Reshaper Test Runnerでグレー表示されて表示され、Resharperを使用してデバッグすることもできません。どのテストも実行されていませんが、すべてのテストに合格したかのように緑色のバーが表示されます。これをどのように機能させることができるかについてのアイデアはありますか?