亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從使用 NSubstitute 模擬的對象返回一個對象(即 List<string>)?

如何從使用 NSubstitute 模擬的對象返回一個對象(即 List<string>)?

C#
ABOUTYOU 2023-08-13 13:52:16
我正在使用 NSubstitute 來模擬我的一個類/接口。我的類實現的函數之一應該返回一個 List 類型的對象。但是當我嘗試使用 _mockedObject.MyFunction().Returns(myList) 時,它給我一個錯誤,說我無法在 List 和 Func 類型的對象之間進行轉換。我想我可以使用一些 ToString() 函數將我的列表作為字符串傳遞并將其轉換回來?但這似乎不是特別干凈,因為我期望從我的函數中返回一個列表。我從有關使用依賴注入進行單元測試的視頻中看到,您可以使用 Moq 從模擬對象返回對象,如果我無法使用 NSubstitute 返回對象,我正在考慮切換到該方法。
查看完整描述

1 回答

?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

List<string>下面是如何從 NSubstitute 模擬的對象返回 a 的示例:


using System.Collections.Generic;

using NSubstitute;

using Xunit;


public interface ISomeType {

? ? List<string> MyFunction();

}


public class SampleFixture {

? ? [Fact]

? ? public void ReturnList() {

? ? ? ? var _mockedObject = Substitute.For<ISomeType>();

? ? ? ? var myList = new List<string> { "hello", "world" };


? ? ? ? _mockedObject.MyFunction().Returns(myList);


? ? ? ? // Checking MyFunction() now stubbed correctly:

? ? ? ? Assert.Equal(new List<string> { "hello", "world" }, _mockedObject.MyFunction());

? ? }

}

您所描述的錯誤聽起來像是涉及不同類型。

查看完整回答
反對 回復 2023-08-13
  • 1 回答
  • 0 關注
  • 123 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號