我正在尝试学习单元测试并且遇到以下情况,我无法理解:
- 我有一个模型:SalesOrder - 为电子商务商店中的订单建模
- SalesOrder 有一个名为 gift_message_id 的属性
- 礼物消息 id 是一个整数值,是 GiftMessage 模型的外键
- GiftMessage 模型有一个方法可以采用订单模型并根据 SalesOrder 正确加载 GiftMessage 实例。
我正在尝试编写一个准确测试此行为的测试,但我最终得到了 2 个模拟:1 个用于 SalesOrder,1 个用于 GiftMessage,它没有意义。我在这里做错了什么?
我尝试测试的方法如下所示:
public function loadGiftMessageByOrderModel(SalesOrder $order)
{
$giftMessageId = $order->getGiftMessageId();
//if the order has a gift message id then load the gift message model and return it
if ($giftMessageId !== false) {
return new GiftMessage($giftMessageId);
}
return false;
}
如何进行单元测试,记住订单和礼品消息数据存储在数据库中。