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

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

如何在 Xunit 中為集合編寫 Assert 語句?

如何在 Xunit 中為集合編寫 Assert 語句?

C#
呼啦一陣風 2022-01-15 15:45:30
我正在使用 xUnit 測試框架來編寫一些單元測試。下面是一個測試azColumns集合是否為空的代碼片段。但是,我在想有沒有更好的方法來斷言azColumns集合而不Assert在if..else塊語句中使用兩個?Assert也許是一個有意義的單行語句?private static string LoadJsonFile(){    const string fileName = "templateFileContent_1.json";    var filePath = Path.Combine(Directory.GetCurrentDirectory(), $@"Data\{fileName}");    return !File.Exists(filePath) ? string.Empty : filePath;}private static string GetJsonData(){    JObject jsonObject;    var jsonFile = LoadJsonFile();    if (string.IsNullOrEmpty(jsonFile)) return string.Empty;    using (var reader = new StreamReader(jsonFile))    {        var jsonData = reader.ReadToEnd();        jsonObject = JObject.Parse(jsonData);    }    return jsonObject.ToString();}private static JObject GetBaseConfigurationObject(){    var json = GetJsonData();    if (string.IsNullOrEmpty(json)) return null;    var baseObject = JsonConvert.DeserializeObject<JObject>(json);    return baseObject;}[Fact]public void ExportColumns_Should_Not_Be_Empty_Or_Null(){    // Arrange    IEnumerable<az_Columns> azColumns = null;    // Act    var baseConfig = GetBaseConfigurationObject();    var fileContent = baseConfig?["templateFileContent"];    if (fileContent != null)    {        var baseConfiguration = fileContent.ToObject<BaseConfiguration>();        azColumns = baseConfiguration?.ExportData?.az_Columns;    }    // Assert    if (azColumns == null)    {        Assert.Null(azColumns);    }    else    {        Assert.NotEmpty(azColumns);    }}非常感謝任何輸入。
查看完整描述

1 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

如果對使用Fluent Assertions感興趣,您可以斷言如下


[Fact]

public void ExportColumns_Should_Not_Be_Empty_Or_Null() {

    //Arrange

    //...omitted for brevity


    //Act

    //..omitted for brevity


    //Assert

    azColumns.Should().NotBeNullOrEmpty();

}

執行測試后,您斷言該集合不應為空或為空。如果它為 null 或為空,則測試將失敗,否則它將按預期通過。


查看完整回答
反對 回復 2022-01-15
  • 1 回答
  • 0 關注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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