У меня есть простой модульный тест, который должен проверить, вызвал ли мой метод метод IModel.BasicPublish
. Так что я написал простой блок-тест:Mock 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.BasicPublish (It.IsAny (), It.IsAny (), It.IsAny (), urlBytes), Times.Once); –
Проверьте, является ли BasicPublish членом интерфейса или методом расширения. Наличие BasicPublish как метода расширения вместо фактического члена могло вызвать это исключение –
Предоставить [mcve], который может использоваться для воспроизведения проблемы. недостаточно контекста в этом примере, поскольку то, что в настоящее время показано, не должно вызывать эту ошибку. – Nkosi