2009-08-16 13 views
6

Chcę użyć funkcji przywracania roli, ale kiedy piszę tag, wydaje się, że nie istnieje.Gdzie jest funkcja [Cofnij] w Nunit?

używam nunit 2.5.0

właśnie użył nunit.framework.dll

muszę dodać jakiś inny .dll w?

Czy ktoś wie, w jaki sposób dostaję magdalenę, aby połączyć się z bazą danych sql sever w aplikacji asp.net?

Nie jestem pewien, gdzie umieścić ciąg połączenia.

+0

Zobacz to pytanie, aby uzyskać alternatywne http://stackoverflow.com/questions/321180/how-do-i-test-database-related-code- with-nitit –

Odpowiedz

1

Nie ma takiego atrybutu w wersji 2.5 (patrz here, aby uzyskać listę obsługiwanych atrybutów). Przeczytaj here dla podejścia do majsterkowania.

+0

Hmm Chyba tęsknię za przeczytaniem lub czymś, o czym myślałem Czytałem, że to ma. – chobo2

+3

@ chobo2 - Jest to udokumentowane jako funkcjonalność, która istnieje w "The Art of Unit Testing" Roya Osherove'a (B.4.2) –

2

Stary wątek, ale pomyślałem, że podzielę się nim na przyszłość.

O ile wiem, nie ma natywnego atrybutu [Rollback]. Można jednak napisać własne dość łatwo:

This blog post pokazuje jak napisać atrybut niestandardowy wycofywania NUnit, tak że można napisać [Test, Rollback] na początku każdego testu (lub na początku TestFixture jeśli wolisz).

Jest to dość proste i używa do tego mięsa System.Transaction.TransactionScope().

Oczywiście, zawsze możesz po prostu użyć TransactionScope() w SetUp/TearDown, aby osiągnąć to samo, patrz zaakceptowana odpowiedź na this question.