Динамика 365 денежного поля пересчет базовой валюты в поддельных тестах - PullRequest
0 голосов
/ 19 февраля 2020

Я новичок в Dynamics 365 и недавно начал тестировать мой код, используя поддельный XRM.

Я только что столкнулся с проблемой, связанной с вычислениями, выполненными для полей валюты (Деньги), для которых создается дополнительное поле (имя которого заканчивается на _Base). В модульных тестах база поля валюты не пересчитывается.

Сценарий таков: - Тестируемый код устанавливает поле «оборот» типа «Деньги» на объекте «Счет». - Позже в «обороте» части базовой валюты подводятся. (Счета обновляются в контексте перед суммированием)

localAccount.turnover = new Money(100);

...

var sumOfTurnovers = localAccounts.Sum(s => s.turnover_Base?.Value ?? 0); // <-- returns 0 in unit tests

Результат: сумма оборотов рассчитывается как 0, в то время как в реальной среде разработчика она рассчитывается правильно.

Это часто случается что тестируемый код опирается на пересчитанные значения.

Как эмулировать перерасчет для таких полей базовой валюты в модульных тестах?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...