アプリケーションの統合/回帰テストスイートを実行する必要があります。アプリケーションは、1日の時間帯によって動作が異なるはずです。他のアプリがシステム時刻に依存しているため、システム時刻を変更できません。この目的のために、DateTime.Nowをモックしたいと思います。ただし、メインメソッドにモックを入れると、例外がスローされました。同じアプリケーションのnunitテストでモックを使用すると、正常に機能します。typemockは、単体テストのコンテキストでのみ使用できますか?とにかく、モックを有効にしてソリューションを実行できますか?TMockRunner.exeでもソリューションを実行しましたが、同じ問題が発生しました。
ありがとう!
Travisが@TravisIlligに言及したメソッドを使用して実行すると、このエラーが表示されます。ラッパーのコードは次のとおりです。
class Program
{
static void Main(string[] args)
{
ExpectationsSetup();
ConsoleApplication2.Program.Main(args);
}
public static void ExpectationsSetup()
{
Isolate.WhenCalled(() => DateTime.Now).WillReturn(new DateTime(2010, 1, 2));
}
}
I see the following error:
Unhandled Exception: TypeMock.TypeMockException:
*** No method calls found in recording block. Please check:
* Are you trying to fake a field instead of a property?
* Are you are trying to fake an unsupported mscorlib type? See supported types
here: http://www.typemock.com/mscorlib-types
at gt.a(c0 A_0, Boolean A_1)
at bg.a(Boolean A_0)
at dt.b(Boolean A_0)
at i2.b(Boolean A_0)
at i2.a(Object A_0, Boolean A_1, Func`1 A_2, Action A_3, Action A_4, Action A
_5, Boolean A_6)
at i2.b(Object A_0)
at TypeMock.ArrangeActAssert.ExpectationEngine`1.a(TResult A_0)
at ConsoleApplication2Mock.Program.ExpectationsSetup() in C:\Users\shvenkat\D
ocuments\Visual Studio 2010\Projects\ConsoleApplication2\ConsoleApplication2Mock
\Program.cs:line 22
at ConsoleApplication2Mock.Program.Main(String[] args) in C:\Users\shvenkat\D
ocuments\Visual Studio 2010\Projects\ConsoleApplication2\ConsoleApplication2Mock
\Program.cs:line 14
どんな助けでもありがたいですありがとう!