Piszę niektóre testy jednostek bazy danych tSQLt (za pomocą testu SQL Red Gate) na procedurach, które ostatnio wywołują tabele zawierające (utrwalone) kolumny obliczeniowe i zauważ, że jeśli używam FakeTable SP, Uważam, że kolumny obliczane nie są wypełnione (oceniają jako zerowe). Obliczona kolumna jest kluczem do testu, więc nie mogę po prostu zignorować kolumny w teście, a raczej nie powielę logiki.Testowanie jednostkowe z tSQLt na kolumnach obliczeniowych
Oceniam wyniki przy użyciu tSQLt.AssertEqualsTable SP, więc chcę się upewnić, że wartości kolumn są takie same w obu.
W praktyce pracowałem nad tym, nie używając FakeTable, ale używając instrukcji (częściowego) wycofania transakcji na końcu testu (na blogu pod numerem http://sqlity.net/en/585/how-to-rollback-in-procedures/) lub jawnie usuwając wartości testowe.
Jestem pewien, że musi istnieć lepszy sposób kodowania tego testu i chętnie przyjmie wszelkie sugestie.
Dzięki Sabastian, to bardzo pomocne. Próbowałem połączyć oba testy, ale jak zauważyłeś, powinny to być różne testy. – DaveGreen