Nunit: テスト結果にファむルを添付する

䜜成日 2016幎07月15日  Â·  34コメント  Â·  ゜ヌス: nunit/nunit

こんにちは、みんな、
私はNUnitを初めお䜿甚したすが、テスト゚クスプロヌラヌの出力に添付ファむルを远加するにはどうすればよいのでしょうか。
単䜓テストでは、これを実行できるAddResultFileを呌び出すTestContextクラスのメ゜ッドがありたす。
誰かが私を助けるこずができたすか

ありがずう、
ゞャン

Epic done feature normal

最も参考になるコメント

この機胜は必須です。
NUnitずSeleniumを䜿甚しお自動動䜜テストを実行しおいたす。 テストが倱敗した堎合は、テスト結果にブラりザのスクリヌンショットを添付するのが倧奜きです。これは、テストを修正するのに非垞に圹立ちたす。
これを行うには、Microsoftのテストフレヌムワヌクを䜿甚する必芁がありたしたが、NUnitアセンブリたたはクラスレベルの属性、汎甚テストクラス...ほど匷力ではありたせん。 したがっお、NUnitのこの機胜を楜しみにしおいたす。

党おのコメント34件

あなたが蚀及するメ゜ッドは、MicrosoftのテストフレヌムワヌクのTestContextクラスの䞀郚です。 NUnitにも同じ名前のクラスがありたすが、MsTestクラスずは関係がなく、そのようなメ゜ッドもありたせん。 NUnitには、出力にファむルを添付する機胜はありたせん。

チャヌリヌありがずう。
しかし、AddResultFileメ゜ッドは将来NUnitに远加されたすか
この方法は本圓に圹に立ちたす。

珟時点ではその予定はありたせん。 この問題をそのような機胜のリク゚ストに倉曎したい堎合は、それを実行しお再床開くこずができたす。

もしそうなら、あなたはそれがどのように機胜するかをより詳现に説明する必芁がありたす。 ファむルはどのように䜜成され、どこに保存されるかなどです。NUnitが実際にファむルを䜜成するのか、それずも単にファむルぞの参照を保持するのかを尋ねおいたすか

圓然のこずながら、私たちはそのアむデアを受け入れ、優先順䜍を付け、いく぀かのリリヌスをスケゞュヌルする必芁がありたす。

チャヌリヌからの返信ありがずうございたす。
そのメ゜ッドがNUnitに远加されれば玠晎らしいず思いたす。
これは、MicrosoftのテストフレヌムワヌクのTestContextクラスのAddResultFileメ゜ッドず同じように機胜したす。
テスト結果ファむルhtmlテスト結果たたはスクリヌンショットをVSのテスト゚クスプロヌラヌのテスト出力にリンクするようなものがありたす。 以䞋のスクリヌンショットを芋るこずができたす。

screenshot

アむデアをありがずう。 これを再開したす。

ただし、さらに詳しく説明するには、アダプタヌだけでなく、NUnit自䜓でどのように機胜するかを理解する必芁がありたす。 私はこれをアむデアずしおマヌクしおいたす。これは、将来の機胜ずしお怜蚎するには十分に定矩されおいないものず呌ばれるものです。 たぶん、他の人々が提案でチャむムを鳎らしたす。

考慮する必芁があるこず

  • これはXMLの結果でどのように芋えたすか
  • 結果ず添付ファむルが䞀緒に保持されるように、これらすべおを䜕らかの方法でパッケヌゞ化できたすか
  • どちらかずいえば、NUnitコン゜ヌルはそれをどのように凊理したすか。
  • NUnitGUIはそれを䜕らかの方法で衚瀺したすか

この機胜は必須です。
NUnitずSeleniumを䜿甚しお自動動䜜テストを実行しおいたす。 テストが倱敗した堎合は、テスト結果にブラりザのスクリヌンショットを添付するのが倧奜きです。これは、テストを修正するのに非垞に圹立ちたす。
これを行うには、Microsoftのテストフレヌムワヌクを䜿甚する必芁がありたしたが、NUnitアセンブリたたはクラスレベルの属性、汎甚テストクラス...ほど匷力ではありたせん。 したがっお、NUnitのこの機胜を楜しみにしおいたす。

これを、アむデアよりもしっかりしたデザむンが必芁な機胜に倉曎したす。 以前のコメントに蚘茉されおいる質問を解決する必芁がありたす。

xmlでファむルをシリアル化するか、それ以倖に参照ディレクトリを保持しおいるず思いたす。 1぀は、膚倧なxml、䞀般的な速床䜎䞋、および特定のむンタヌプリタヌを必芁ずするファむルに぀ながり、もう1぀は、ファむルが結果から分離され、参照が砎損する可胜性に぀ながりたす。

どちらが悪の少ないですか 前者の堎合、すべおをパッケヌゞに収めるこずのメリットよりも苊痛が勝るような気がしたす。「うたくいけば利甚できる」盞察リンクがあれば十分です。

  • どちらかずいえば、NUnitコン゜ヌルはそれをどのように凊理したすか。
  • NUnitGUIはそれを䜕らかの方法で衚瀺したすか

GUIの堎合、䞊蚘のむンタヌフェむスのようなものは十分に芋栄えがよく、添付ファむルぞのハむパヌリンクだけです。 コン゜ヌルのimoは、倱敗したテストメッセヌゞで、ファむルが利甚可胜であるこずずその堎所をナヌザヌに通知する必芁がありたす。

デザむンが完成したら、誰かがPRを提出する必芁があるず思いたす-

MSTestがファむルを保存する方法を確認する必芁がありたす。 Visual Studio拡匵機胜には、ドラむブ䞊のファむルぞのリンクが必芁だず思いたす。

XMLでの参照が進むべき道のようです。 NUnitの堎合、論理的な初期䜍眮は䜜業ディレクトリであり、これはデフォルトでXMLが配眮される堎所です。 これで、䞊蚘の最初の2぀のポむントが解決したす。

私の他のポむントに答える

  • 結果の堎合ず同じように、コン゜ヌルはパスずずもに添付ファむルを䞀芧衚瀺するだけだず思いたす。
  • GUIには、添付ファむルを䞀芧衚瀺するための䜕らかのメニュヌたたはパネルを含めるこずができたす。 特定のファむルタむプに察しおデフォルトのアプリケヌションが定矩されおいれば、それらを衚瀺できたす。

私は通垞の優先順䜍に䞊げるこずに傟倒する良い機胜のようです。

@rprouse Gallioが添付ファむルをどのように凊理したか

属性ず芁玠に関しお、添付ファむル芁玠には䜕を含める必芁がありたすか このようなもの

<attachments>
    <attachment  description="Final screen shot">ScreenShot.jpg</attachment>
    ...
</attachments>

私はそれを生成したテストの子であるず想定しおいるので、その情報がありたす。 ナヌザヌは耇数のスクリヌンショットを含めるこずをお勧めしたす。そのため、説明を含めたす。 他に䜕か

䜕かを添付するための構文は䜕ですか TestContextを䜿甚する必芁がありたすか 倱敗時に添付ファむルが自動的に䜜成されるように、それをアサヌションに関連付ける方法はありたすか

誰かがこれの仕様を曞きたいですか

私は通垞の優先順䜍に䞊げるこずに傟倒する良い機胜のようです。

👍

@rprouse Gallioが添付ファむルをどのように凊理したか

いいえ、添付ファむルを䜿甚したこずはありたせん。 私はあなたのXMLフォヌマットが奜きです。 個人的には、TestContextから添付ファむルを远加するこずから始めるべきだず思いたす。これは、より単玔なルヌトだからです。 次に、それをAssertsに拡匵するかどうかを評䟡できたす。

だからTestContext.CurrentContext.AddAttachment 

(string path)ず(string path, string description)オヌバヌロヌドあり

倚分私たちはすでにスペックを持っおいたす

この機胜の優先床を䞊げおください。 テスト結果の芁玄にUIスクリヌンショットを添付するず非垞に圹立ちたす。 これらの添付ファむルは、VSTSVisual Studio Team Services内のビルド結果で利甚できたすか
チャヌリヌ、どうもありがずう

これは優れた機胜だず思いたす。添付ファむルをビルドアヌティファクトずしおTeamCityに公開したす。

@rprouseがすでにそれを提案しおいたので、私はそれを通垞の優先順䜍に䞊げたした。 ただし、優先床の䜎いアむテムず通垞のアむテムは、NUnitコミッタヌたたはコントリビュヌタヌのいずれかが実装するように促されるのを埅たなければならない堎合があるこずに泚意しおください。 それは、い぀完了するかに぀いおのチヌムの決定ずいうよりも、個人的な決定です。

誰もこれを忘れおいないこずを願っおいたす。 これは非垞に圹立぀機胜です。

以前のコメントですべおの蚭蚈䞊の問題が解決したず思うので、蚭蚈ラベルを倖しお、実装の問題をバックログに远加したす。

倚くのこずが起こっおいるので、私たちがこれを忘れおいるこずはそれほど倚くありたせん。 以前のコメントで述べたように、このような通垞の優先項目は、リリヌス蚈画の䞀郚ずしおスケゞュヌルされおいたせん。 圌らがそれを匕き受けるのに十分な興味を持っおもらうのは、チヌムメンバヌたたは倖郚の貢献者次第です。 うたくいけば、それをバックログに远加するこずで、誰かがステップアップする動機付けになりたす。 あなたのスキルに応じお、それはあなたかもしれたせん 😄

玠晎らしい機胜です よろしくお願いしたす。 うたくいけば、誰かがこれをすぐに実装したす😄

2152で、これを実装するために必芁なフレヌムワヌク機胜のPRを実行したした。 この問題を远跡しおいる人が数人いるこずを考えるず、そこで䜕をすべきかを決定したら、この問題を゚ピックに倉換しおランナヌのサポヌトを远跡するこずを蚈画しおいたす。

これが私の考えです

VSアダプタヌ
これはMSTestの機胜であるため、VSアダプタフレヌムワヌクには、添付ファむルを衚瀺する機胜がすでに備わっおいたす。 プラグむンする方法を远跡する必芁がありたす。🙂

コン゜ヌル/ NUnitLite
私はここで混乱しおいたす。 ゚ラヌ/譊告テストでは、添付ファむルのファむルパス/説明を結果ずずもに衚瀺するのが理にかなっおいたす。 合栌したテストぞの添付ファむルはどうですか これらを衚瀺するための「情報」出力が必芁ですか したがっお、コン゜ヌルランナヌには、情報/è­Šå‘Š/゚ラヌの3皮類の出力がありたす。

GUI / Xamarin
これらは䞡方ずも最終的にこれをサポヌトするはずですが、私はそれが優先床が高いずは思いたせん。 問題を䜜成したすが、この゚ピックに添付するこずはしたせん。需芁/時間の蚱す限り、問題を䜜成できたす。

TeamCity
@ NikolayPianikov-あなたはこれに興味があるず蚀った。 たぶんあなたが2152を远跡する䟡倀がありたす。 🙂

䞊蚘のすべおに぀いおの考え @ nunit / framework-team 次のステップが決たったら、個別に問題を出したす。

@ChrisMaddockの問題は蚭蚈の問題でもある可胜性があるため、「GUIで添付ファむルをサポヌトする方法を理解する」ずいう問題を実行できたす。これは、確信が持おない他の問題でも同じです。

コン゜ヌルランナヌの堎合、珟圚すべおのテストを衚瀺しおいるわけではありたせんが、衚瀺するこずはできたす。 詳现レポヌトは、拡匵機胜たたはカスタムXSL倉換で凊理できたす。 埌者は、XSLコヌディングを喜んで行う人にずっおは簡単に実装できたす。 😄それは貢献した倉革かもしれたせん。

NUnitLiteは非垞に軜量に保ちたいので、泚意が必芁です。 ただし、ナヌザヌがむンテリゞェントな方法で添付ファむルに名前を付け、すべお同じディレクトリに配眮するこずを前提ずしおいるため、簡単に芋぀けるこずができたす。 実際、それはコン゜ヌルランナヌにずっおはりェルずしお機胜したす
GUIの自然なこずは、添付ファむルの名前ず説明を、テスト結果に関する他のすべおず䞀緒に衚瀺するこずだず思いたす。 ナヌザヌがファむルを開く適切なアプリケヌションをむンストヌルしおいる堎合は、リンクにするこずができたす。

添付ファむルを取埗したら、アダプタヌからVisualStudioに枡す結果に添付ファむルを远加するのは非垞に簡単だず思いたす。

次のステップをカバヌするために、 https //github.com/nunit/docs/issues/197ずhttps://github.com/nunit/nunit3-vs-adapter/issues/332を䜜成したした。

ランナヌのサポヌトに関しお-これに察する珟圚の唯䞀の芁求がVSアダプタヌずの統合である堎合、今のずころ、そこに実装するだけの傟向がありたす。 これは、グラフィカルランナヌ、次にcliに適した機胜であり、必芁に応じお、将来的に他のランナヌサポヌトをい぀でも远加できたす。

@ChrisMaddockコン゜ヌルランナヌからのアタッチメントサポヌトが欲しいです。

@ kdubau-完璧なタむミング 😄その堎合、どのように芋せたいですか あなたのナヌスケヌスは䜕ですか

倱敗/譊告、リストの説明、ファむルパスをテストするために、テキストの「添付ファむル」ブロックを远加するこずを想像できたす。 これを行わないこずを議論した理由の1぀は、倚くのナヌザヌがそれぞれのファむルを芋぀けるためにシェルからファむルパスをコピヌしお貌り付けたいずは思わなかったためです。 同意したせんか

考慮すべきもう1぀の問題は、コン゜ヌルには珟圚、倱敗した/譊告されたテストのみが衚瀺され、すべおのテストが衚瀺されるわけではないずいうこずです。 添付ファむル付きの合栌したすべおのテストを瀺す結果の3番目のリスト「情報」を䜜成する必芁がありたすか

おそらく、コン゜ヌルランナヌが倱敗したテストの添付ファむルのみを衚瀺するこずは実際には問題ありたせん。これは、コン゜ヌルの実行で興味深いこずのすべおである可胜性があるためです。 ここでの倱敗などに関連するログファむルを想像しおいたす。

@kdubauここで説明するのではなく、nunit-consoleリポゞトリで新しい問題を䜜成するこずをお勧めしたす。

@ ChrisMaddock @ CharliePooleここでのコンテキストを誀解した可胜性がありたす。 添付ファむルを出力XMLで参照するこずにのみ関心がありたす。実際に、添付ファむル情報をコン゜ヌル出力に衚瀺する必芁はありたせん。 私のナヌスケヌスは、CIシステムVisual Studio Team ServicesがXMLにリストされおいる添付ファむルをビルドアヌティファクトずしおアップロヌドできるようにするこずですしたがっお、ロヌカルディスク䞊のファむルぞの参照が必芁です。

コン゜ヌルランナヌを介しおテストを実行するず、XMLに添付ファむルがないのではないかず心配しおいたしたが、さらに読んでみるず、これは問題ではないず思いたす。 私が間違っおいる堎合は私を蚂正しおください:)

@ kdubau-その通りです。 🙂2152がマヌゞされたした。これは、結果xmlの添付ファむルをサポヌトしたす。 すべおが蚈画通りに進んだ堎合、それは来週リリヌスされるNUnit3.7の䞀郚になりたす。

そうです...コン゜ヌルで「サポヌト」が必芁な堎合、それは単にフレヌムワヌクからのXMLを保存する以䞊のこずを意味したす。 nunit3アダプタヌの堎合、@ ChrisMaddockがそれが䜕を意味するかを定矩しおいるず思いたす。

みなさん、この䜜業は完了したしたか、それずも保留䞭ですか それに関連する未解決の問題やPRは芋぀かりたせんでした。

䜕かが足りないのに、テストの添付ファむルがVSテスト゚クスプロヌラヌに衚瀺されない堎合は、お詫びしたす。 NuGetのNUnit3TestAdapter3.8.0ずAPI TestContext.AddTestAttachement(file)を䜿甚しおいたすが、テスト゚クスプロヌラヌに添付ファむルが衚瀺されたせん。 私はこのようなものを期埅しおいたす

image

私の期埅は間違っおいたすか

@ kdubau-いいえ、これはNUnitv3.7およびNUnit3TestAdapter3.8でリリヌスされるはずです。 実装に぀いおは、 https//github.com/nunit/nunit3-vs-adapter/issues/332を参照しお

それが機胜しない堎合は、最初にNUnitコン゜ヌルでテストを実行し、添付ファむルが結果のxmlファむルに正しく蚘録されおいるかどうかを確認したす。 そうでない堎合は、このリポゞトリで問題を開きたす。そうである堎合は、アダプタヌリポゞトリで問題を開きたす。さらに調査するこずができたす。 🙂

@ChrisMaddockわかりたした、問題が䜜成されたしたhttps://github.com/nunit/nunit3-vs-adapter/issues/373

@kdubauからのモチベヌションのおかげで、私は぀いにこの機胜を文曞化し、このEpicを閉じるこずができたす。 😄

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡