Ich arbeite an Komponententests für mein Projekt. DLL mit Business-Logik sollte für .Net 2.0 gebaut werden, aber ich möchte Moq zum Testen verwenden (erfordert. NET 3.5). Aus diesem Grund habe ich alle Tests auf separate .NET 3.5-Projekt mit Bezug auf Business-Logik-Projekt verschoben. Ich muss einige Methoden testen, die von meinem Testprojekt als intern markiert sind. Ich kann die einzige Möglichkeit sehen, zu tun, dass separate Build-Konfigurationen mit bedingten Build Symbolen:Machen Sie die Methode public für UNITTESTS Build-Konfiguration
#if UNITTESTS
public
#else
internal
#endif
int DoSomeAction(int param1, int param2)
{
// some logic that need to be tested here
}
aber eine solche Art von Code sieht hässlich aus. Vielleicht gibt es einen besseren Weg, wie Mark-Methode durch ein spezielles Attribut:
[ConditionalPublic("UNITTESTS")]
internal int DoSomeAction(int param1, int param2)
{
// some logic that need to be tested here
}
Vielen Dank.
Oh, das ist was ich suche! Vielen Dank! –