我想对一些解压缩代码进行单元测试。我将测试文件放入要在测试中使用的项目中。我可以在控制台应用程序中运行代码并且它工作正常,但是当我运行测试时它们会失败。
测试:
public void CsvStreamsToCsvStream()
{
string dir = System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().Location);
string file = Path.Combine(dir, @"\TestFiles\Test.csv");
using (FileStream fstrm = new FileStream(file, FileMode.Open))
{
var decompressor =
new MemoryDecompresser(fstrm, Path.GetFileName(file));
var results = decompressor.GetStreams();
Assert.AreEqual(1, results.Count());
Assert.AreEqual(results.First().Key, "Test.csv");
}
}
控制台应用:
namespace TestConsoleApp
{
class Program
{
static void Main(string[] args)
{
var test = new TestDecompression();
test.CsvStreamsToCsvStream();
}
}
}
项目:
测试资源管理器:
答案 0 :(得分:0)
嵌入资源
使用程序集名称访问资源小瓶“GetManifestResourceStream(string)”。文件夹名称。文件名
[Test]
public void CsvStreamsToCsvStream()
{
using(Stream fstrm =
Assembly.GetExecutingAssembly()
.GetManifestResourceStream(@"Tests.TestFiles.Test.csv"))
{
var decompressor =
new MemoryDecompresser(fstrm, "Test.csv");
var results = decompressor.GetStreams();
Assert.AreEqual(1, results.Count());
Assert.AreEqual(results.First().Key, "Test.csv");
}
}