Как люди тестируют свои бизнес-приложения? Я видел множество примеров модульного тестирования с примерами "простой для тестирования". Ex. Калькулятор. Как люди могут тестировать тяжелые приложения? Как вы собираете свои данные образца? Во многих случаях данные для одного теста могут вообще не работать для другого теста, из-за чего сложно просто иметь одну тестовую базу данных?
Тестирование части доступа к данным кода довольно просто. Он тестирует все методы, которые работают против данных, которые, как представляется, трудно тестировать. Например, представьте себе процесс публикации, когда есть большой доступ к данным для определения того, что размещено, числа скорректированы и т.д. Существует ряд промежуточных шагов, которые происходят (и должны быть протестированы) вместе с тестами после этого, которые гарантируют, что публикация была успешный. Некоторые из этих шагов могут фактически храниться в процедурах.
В прошлом я пытался вставить тестовые данные в тестовую базу данных, а затем запустить тест, но, честно говоря, довольно сложно писать такой код (и подвергать ошибкам). Я также попытался просто построить тестовую базу данных и отменить изменения. Это работает нормально, но в ряде мест вам также нелегко это сделать (и многие люди скажут, что интеграционное тестирование, так и должно быть, мне все же нужно как-то проверить это).
Если ответ заключается в том, что нет хорошего способа справиться с этим, и в настоящее время это просто отстой, это было бы полезно знать также.
Любые мысли, идеи, предложения или советы оценены.