Size: a a a

2020 July 02

к

кана in Haskell
что ты понимаешь под подменой интерпретатора? Интепретатор вызывает другой интерпретатор?
источник

АГ

Александр Гранин... in Haskell
Я не знаю, что такое когерентность.
источник

YS

Yan Shkurinskiy in Haskell
Когда ты точно можешь найти инстанс однозначно
источник

YS

Yan Shkurinskiy in Haskell
Насколько я понял
источник

АГ

Александр Гранин... in Haskell
кана
что ты понимаешь под подменой интерпретатора? Интепретатор вызывает другой интерпретатор?
Есть несколько интерпретаторов, лежащих, например, в мапе по текстовому ключу. В сценарии ты встречаешь метод, который говорит: ну все, теперь используем другую имплементацию. И ты ее переключаешь.
источник

к

кана in Haskell
ага, ок, ну такое в ТФ тоже можно сделать
источник

к

кана in Haskell
инстансы тоже можно положить в мапку
источник

к

кана in Haskell
но я согласен что с интерпретаторами как функциями это делается проще
источник

MK

Maxim Koltsov in Haskell
а, я понял, ты в тесте хардкодишь последовательность вызовов в тестируемой функции и вставляешь туда моки
источник

MK

Maxim Koltsov in Haskell
т.е. тест жестко завязан на логику
источник

АГ

Александр Гранин... in Haskell
Или даже так. Старая версия содержит баг, но на нее заточены сотни клиентов. Этим клиентам прописываем, что они будут пользоваться старым интерпретатором, а новые - новым. А если не хочется дублировать код, можно предусмотреть смешанную интерпретацию
источник

АГ

Александр Гранин... in Haskell
Maxim Koltsov
т.е. тест жестко завязан на логику
Ну я про white box тесты сейчас
источник

АГ

Александр Гранин... in Haskell
И про grey box
источник

MK

Maxim Koltsov in Haskell
напомни пожалуйста что это?
источник

YS

Yan Shkurinskiy in Haskell
Когда тесты знают детали логики, вроде как
источник

YS

Yan Shkurinskiy in Haskell
Правильно?
источник

АГ

Александр Гранин... in Haskell
white box: ты знаешь, что делает твоя бизнес-логика, и можешь на это знание опираться в тестах. Моки везде, например.

grey box: ты всё еще знаешь про структуру бизнес-логики, но какие-то вызовы хочешь сделать по-настоящему, а какие-то замокать
источник

АГ

Александр Гранин... in Haskell
Yan Shkurinskiy
Правильно?
да
источник

YS

Yan Shkurinskiy in Haskell
Не умею с такими работать(
источник

MK

Maxim Koltsov in Haskell
не могу сказать что мне это нравится
источник