「テスト フレームワークを使用するように承認が設定されていません」というメッセージが表示される原因は何ですか?
ApprovalTests ベースのユニット テストが夜間のリモート チーム ビルドで失敗し、次の例外があります。
テスト メソッド Test_CanvasModeConverters が例外をスローしました:
System.Exception: Approvals は、テスト フレームワークを使用するように設定されていません。
現在、[NUnit、MsTest、MbUnit、xUnit.net] をサポートしています。1 つ追加するには、ApprovalTests.StackTraceParsers.StackTraceParser.AddParser() メソッドを使用して、テスト フレームワークをサポートする ApprovalTests.StackTraceParsers.IStackTraceParser の実装を追加します。実装方法については、http://blog.approvaltests.com/2012/01/creating-namers.htmlを参照してください。
この単体テストは、ローカルの VS2010 単体テスト実行 (つまり、mstest) で問題なくパスします。また、リモート チームの「チェックイン」ビルド (すべてのコード チェックインで実行される) でも問題なく動作します。
実行中の ApprovalTests.dll アセンブリを特定するために、テストの開始時にいくつかの診断情報を記録しました...
--------------------
ApprovalTests, Version=1.21.4657.21485, Culture=neutral, PublicKeyToken=11bd7d124fc62e0f:
CodeBase = file:///E:/BldSrc/27/305/TestResults/NightlyBuild/Client[2]/Out/ApprovalTests.DLL
FullName = ApprovalTests, Version=1.21.4657.21485, Culture=neutral, PublicKeyToken=11bd7d124fc62e0f
GlobalAssemblyCache = False
ImageRuntimeVersion = v4.0.30319
Location = E:\BldSrc\27\305\TestResults\NightlyBuild\Client[2]\Out\ApprovalTests.dll
Company Name =
Assembly Product = ApprovalTests
--------------------
これがスタックトレースです...
ApprovalTests.StackTraceParsers.StackTraceParser.Parse(StackTrace stackTrace)
ApprovalTests.Namers.UnitTestFrameworkNamer..ctor()
ApprovalTests.Approvals.<.cctor>b__11()
ApprovalTests.Approvals.GetDefaultNamer()
ApprovalTests.Approvals.Verify(IApprovalWriter writer)
ApprovalTests.Approvals.Verify(String text)
ApprovalTests.Combinations.CombinationApprovals.VerifyAllCombinations[A,B,C,D,E,F,G,H,I](Func`10 processCall, String format, Func`2 resultFormatter, IEnumerable`1 aList, IEnumerable`1 bList, IEnumerable`1 cList, IEnumerable`1 dList, IEnumerable`1 eList, IEnumerable`1 fList, IEnumerable`1 gList, IEnumerable`1 hList, IEnumerable`1 iList)
ApprovalTests.Combinations.CombinationApprovals.VerifyAllCombinations[A,B,C,D,E,F,G,H,I](Func`10 processCall, String format, IEnumerable`1 aList, IEnumerable`1 bList, IEnumerable`1 cList, IEnumerable`1 dList, IEnumerable`1 eList, IEnumerable`1 fList, IEnumerable`1 gList, IEnumerable`1 hList, IEnumerable`1 iList)
ApprovalTests.Combinations.CombinationApprovals.VerifyAllCombinations[A,B](Func`3 processCall, IEnumerable`1 aList, IEnumerable`1 bList)