Вопрос в том, есть ли способ пометить юнит-тесты по разным категориям: юнит, интеграция, «опасная_интеграция». Затем, скажем, из настройки «Team City», автоматически пропустить «опасных_интеграции»?
Для тестов, помеченных как «Опасные» - они не должны запускаться автоматически. Это нужно запускать вручную, желательно даже на отладчике с очень внимательным присмотром?
Для python, вот пример, где у меня есть класс, который может отправлять реальные сделки на криптообменники. Я по существу шунтирую все тестовые методы с «возвратом» в качестве первой строки тестового метода, чтобы избежать ситуации, когда мы непреднамеренно отправляем прямые сделки на улицу.
import unittest
class BinanaceConnectorTests(unittest.TestCase):
def setUp(self):
...
def tearDown(self):
...
def testSendRealOrders(self):
return <-- I hardcode return here so nobody accidentally
... actual implementation shunted by above return ...
Это правильный способ сделать это? Я использую Visual Studio. Я помню, что в C # с xunit есть способ пометить юнит-тесты различными категориями .
Я думаю, что нет такой вещи, как "опасная_интеграция" тестов - если вам нужна такая вещь, отделите эти тесты от ручного скрипта на python и просто не помечайте их как модульные тесты любого вида. Это было бы самым безопасным.