Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Unit Test. Кто использует?

14.11.16 15:29
Re: Unit Test. Кто использует?
 
Программист коренной житель
в ответ Murr 14.11.16 11:53
loadDtStock_allBcds_loadInoiveNo_byOrder()

Тут проблема только одна - DXCR48.loadDtInvoiceNo_byItem (...)

Я не знаю что это за функция, но ее надо закрыть заглушкой и тестировать так, как будто эта функция работает без ошибок.


Насколько я понимаю, DrOrder и DtInvoiceNo - это просто объект с данными, который тебе придется заполнять руками. Не могу сказать, понадобится ли тебе тут свой функционал.


loadDtStock_allBcds_loadInoiveNo_byLoad()

тут все также, как и в предыдущем случае - понадобится заглушка на DXCR48.loadDtInvoiceNo_byLoad(...) и DXCR48.loadDtInvoiceNo_byItem (...).

Единственное, что меня тут смущает - это DtInvoices.Compute(...) . Наверное придется таки делать обертку над DataTable.


loadRackNos()

тут самое интересное :)

DataTable таки придется подменить своей реализацией.

И при вызове DtStockOrderItems.Select() возвращать свои данные.



Насколько я понял, DataTable - это данные из БД. Тут ты можешь либо пойти на компромисс и отказаться от обертки над DataTable (думаю, что это не так просто, тем более, что еще и данными надо нашпиговывать), вместо этого сделать тестовую ДБ, и перед каждым тестом обнулять ее. Ну и наполнять данными только для одного теста.

Это, конечно, не будет уже юнит-тестом, но возможно это будем разумным компромиссом. Это уже только ты можешь оценить.


Ну а DXCR48.loadDtInvoiceNo_byLoad(...) и DXCR48.loadDtInvoiceNo_byItem (...) надо будет тестировать отдельно. Я так понимаю, что это статические функции? Или DXCR48 - это синглтон?




 

Перейти на