Ich habe einen Code, der den letzten Zeitstempel mit dem tatsächlichen Zeitstempel vergleicht. Wenn der tatsächliche Zeitstempel vor dem letzten Zeitstempel liegt, wurde die Systemzeit manipuliert. Wegen des Übergangs von oder zur Sommerzeit arbeite ich mit UTC.
Jetzt möchte ich einen Komponententest für diese spezielle Situation schreiben.
Aber eigentlich möchte ich folgendes simulieren:
%Vor%Die Frage ist also, wie kann ich definieren, dass eine 02.18 Uhr entweder DST ist oder nicht.
MSDN sagt :
Konvertierungsvorgänge zwischen Zeitzonen (z. B. zwischen UTC und lokaler Zeit oder zwischen einer Zeitzone und anderen) berücksichtigen die Sommerzeit, aber Rechen- und Vergleichsoperationen nicht .
IMO sollten Sie Ihre Minuten in UTC hinzufügen und dann in lokale Art konvertieren.
Hier ist der (aktualisierte) Code:
%Vor%@WaltiD: Ich kann nichts sagen, aber der obige Code druckt 02:58 vor und nach der DST-Verschiebung.
Wenn Sie versuchen, statische Methoden oder Eigenschaften zu setzen, können Sie PEX / Moles
betrachtenPex und Moles: Untestable Code? Nicht wirklich. (Irgendein zufälliger Blogpost)
Tags und Links c# unit-testing mstest