का उपयोग करके इलोगर/ILoggerService का नकल कैसे करें मैं अपने व्यू मॉडल क्लास के लिए कुछ यूनिट परीक्षण लिख रहा हूं। इस वर्ग के निर्माता को आईएलओगर सेवा के साथ इंजेक्शन दिया गया है। यह इंटरफ़ेस 1 विधि GetLog को परिभाषित करता है जो एक ILogger देता है।मोक
private void CreateNewOrder(INewOrderViewModel newOrderViewModel)
{
Logger.Log("Sending Create New Order Message", LogCategory.Info);
var createNewOrderMessage = new OrderMessage(newOrderViewModel);
_eventAggregator.GetEvent<CreateOrderEvent>().Publish(createNewOrderMessage);
}
मैं कैसे जाना होगा:
protected ViewModelBase(ILoggerService loggerService)
{
Logger = loggerService.GetLog(this);
}
मैं अपने CreateNewOrder विधि है कि नीचे की तरह दिखता है परीक्षण इकाई के लिए कोशिश कर रहा हूँ: - जैसे नीचे जहां इस एक वर्ग है कि ILoggable लागू करता है का प्रतिनिधित्व करता है कुछ ILoggerService का मज़ाक उड़ाते हुए ताकि वैध लॉगर वापस कर दिया जा सके? फिलहाल मेरा यूनिट परीक्षण एक NullReferenceExeception फेंकता है।
मैं अपने मॉकिंग करने के लिए मोक का उपयोग कर रहा हूं।
मैं कल्पना कर रहा हूँ मैं
var loggerService = new Mock<ILoggerService>();
loggerService.Setup(svc => svc.GetLog(??))
की तर्ज पर कुछ करने की ज़रूरत है लेकिन मैं कैसे अपने परीक्षण वर्ग को लागू ILoggable किए बिना नहीं देख सकता।
अग्रिम धन्यवाद।
शानदार। उसने एक इलाज किया। बहुत बहुत धन्यवाद – user630190
संदर्भ के लिए, मैं कुछ ऐसा उपयोग करता हूं: 'var loggerMoq = Mock.Of>();' –
Nordes