0
我有一個簡單的單元測試,需要驗證我的方法是否調用IModel.BasicPublish
方法。所以我寫了一個簡單的單元測試:模擬rabbitMQ模型驗證錯誤
[TestMethod]
public void RequestAdded()
{
const string url = "http://localhost";
var urlBytes = Encoding.UTF8.GetBytes(url);
_proxyService.AddRequest(url);
_moqModel.Verify(x => x.BasicPublish(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<IBasicProperties>(), urlBytes), Times.Once);
}
然而,當我跑我得到一個錯誤: invalid verify on a non-virtual member
。
我認爲這隻能發生在具體的類上,而不是在接口上。
private Mock<IModel> _moqModel;
有什麼想法?
你嘗試... _moqModel.As().Verify(X => x.BasicPublish(It.IsAny (),It.IsAny (),It.IsAny (),urlBytes ),Times.Once); –
請檢查BasicPublish是接口成員還是擴展方法。將BasicPublish作爲擴展方法而不是實際成員可能導致此異常 –
提供可用於重現問題的[mcve]。本例中沒有足夠的上下文,因爲目前顯示的內容不應該導致該錯誤。 – Nkosi