将对象附加到数组失败的单元测试

Append objects to an array fails unit tets

我是单元测试新手。

我有一个扩展方法,可以将对象附加到对象数组。但是它在我 运行 任何时候都无法通过单元测试。下面是我的扩展方法

    /// <summary>
    /// Appends the given objects to the array source.
    /// </summary>
    /// <typeparam name="T">The specified type of the array</typeparam>
    /// <param name="source">The original array of values</param>
    /// <param name="toAdd">The values to append to the source.</param>
    /// <returns>The concatenated array of the specified type</returns>
    public static T[] Append<T>(this IEnumerable<T> source, params T[] toAdd) => source.Concat(toAdd).ToArray();

...这是我的测试

    [Theory]
    [InlineData("Test", "Local", 3, "First Test")]
    [InlineData("Test", "Removable", 15, "Second Test")]
    [InlineData("Test", "Dedicated", 33, "Third Test")]
    public void AppendToArray_ArrayNotEmpty(string origin, string filePath, int lineNumber, string message)
    {
        object[] args = { };

        args.Append(origin, filePath, lineNumber, message);

        Assert.NotEmpty(args);
    }

有什么我想念的吗?我正在使用 XUnit 作为我的测试框架。

您的 'Append' 方法不会修改 source 参数,因此您需要在调用它时将 return 值分配给某些东西。像这样:

args = args.Append(origin, filePath, lineNumber, message)