我写了一个用 c# 编写的 excel (xls - 97-2003) 文件生成器。这基本上是NPOI的包装。
这是生成器的接口:
public interface IExcelGenerator
{
/// <summary>
/// Add or replace a cell in the file.
/// </summary>
/// <param name="cell"></param>
void AddCell(Cell cell);
/// <summary>
/// Create the file in memory.
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
IFile CreateFile(string fileName);
}
生成器的最终结果是代表原始文件的byte[]
(来自对象)。IFile
我的Cell
课程已经过单元测试。现在我想对生成器本身进行单元测试。我需要断言单元格内容是正确的,以及应用于单元格的格式。
我看到的唯一方法是在内存 (a byte[]
) 中生成一个文件,并将其与我在磁盘上读取的文件进行比较。但是在 Excel 中打开一个文件并保存它的简单操作增加了很多重量(从 6K 到 26K),即使内部没有任何更改。所以这两个数组几乎永远不会相同,即使单元格的内容是正确的。
如何断言两个文件中的所有单元格都具有相同的值和格式?