私はPexが新しく、DateTime.NowやFile.Exists()などのマシン固有のルーチンで使用する方法はわかりません。DateTime.NowまたはFile.Existsを使用してPexを処理するにはどうすればいいですか
私はタイムゾーンオフセットでカットオフDateTimeを表示する機能を持っています。
public class CommonDateTime
{
public static string ConvertToLongStringWithGmtOffset(DateTime cutoffData)
{
return String.Format(
"{0} {1} GMT (local time is {2})",
cutoffData.ToLongDateString(),
cutoffData.ToShortTimeString(),
DateTime.Now.ToString("zzz"), // here is the problem...
CultureInfo.InvariantCulture);
}
}
私はしかし、これはマシン固有でテストが生成Pexのエクスプローラ
[PexClass(typeof(CommonDateTime))]
[TestFixture]
public partial class CommonDateTime_Test
{
/// <summary>Test stub for ConvertToLongStringWithGmtOffset(DateTime)</summary>
[PexMethod]
public string ConvertToLongStringWithGmtOffset(DateTime _cutOffData)
{
string result = CommonDateTime.ConvertToLongStringWithGmtOffset(_cutOffData);
return result;
}
}
によって生成されますPexのパラメータ化テストを持っている - マシンが非GMTタイムゾーンにあるとき、それは失敗します。
public partial class CommonDateTime_Test
{
[Test]
[PexGeneratedBy(typeof(CommonDateTime_Test))]
public void ConvertToLongStringWithGmtOffset156()
{
string s;
s = this.ConvertToLongStringWithGmtOffset(default(DateTime));
PexAssert.AreEqual<string>
("Monday, January 01, 0001 12:00 AM GMT (local time is +00:00)", s);
}
}
この場合、私は何ができますか? DateTime.NowやFile.Exists()などの関数を参照する関数の探索をスキップするように指示できますか?それとも、いつも特定のタイムゾーンを使用するように指示することはできますか?