在xUnit中,NotStrictEqual做什么?

时间:2018-09-13 07:30:39

标签: .net unit-testing xunit.net

NotStrictEqual在下面的代码中的xUnit中做什么

// Act
var response = await _client.GetAsync("/api/articles");

// Assert
response.EnsureSuccessStatusCode();
var responseString = await response.Content.ReadAsStringAsync();
var articles = JsonConvert.DeserializeObject<Article[]>(responseString);
Assert.NotStrictEqual(PredefinedData.Articles, articles);

1 个答案:

答案 0 :(得分:0)

“不严格等于”表示您想测试两个对象的状态是否相等,而与它们的参数类型无关。例如,在非严格模式下,将比较“ 1”和1的结果为true。

由于您尚未发布商品类型的类型定义,因此我在下面做了一些假设。另外,由于我们正在比较自定义类型,因此最好尝试notDeepStrictEqual。请参阅下面是否有帮助。

describe('Test articles', function () {

   const PredefinedData = {
        Articles: [
            {
                name: 'article1'
            }
        ]
   }

    it('this will pass', function () {
        const mockResponse = '[{"name": "article2"}]'
        const articles = JSON.parse(mockResponse);
        assert.notDeepStrictEqual(PredefinedData.Articles, articles);
    });

    it('this will fail', function () {
        const mockResponse = '[{"name": "article1"}]'
        const articles = JSON.parse(mockResponse);
        assert.notDeepStrictEqual(PredefinedData.Articles, articles);
    });

  });