概要
List<List<T>> dataを引数にCSVを生成するクラスのテストをMSTestで書こうとしています。しかし、NUnitのように作成されるファイルを比較するAssertがMSTestに無いようで、作成されるファイルを何とどのように比較してテストすればよいか検討がつきません。
ご教示いただけましたら幸いです。
・テストコード
C#
1using System; 2using Microsoft.VisualStudio.TestTools.UnitTesting; 3using Hoge.Utils; 4using System.Collections.Generic; 5 6namespace UnitTestForHoge 7{ 8 [TestClass] 9 public class CsvBuilderUtilUnitTest 10 { 11 [TestMethod] 12 //[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", @"|DataDictionary|\TestData\Utils\CsvBuilderUnitTest\test_expected.csv", "test#csv", DataAccessMethod.Sequential)] 13 public void ListからCSVファイルを作成する() 14 { 15 var testList = new List<List<string>>(); 16 List<string> innerList1 = new List<string> { "あいうえお" }; 17 List<string> innerList2 = new List<string> { "かきくけこ" } ; 18 testList.Add(innerList1); 19 testList.Add(innerList2); 20 21 var csvBuilder = new CsvBuilderUtil("test.csv"); 22 csvBuilder.Write(testList); 23 } 24 } 25} 26
・テスト対象のコード
C#
1 2public CsvBuilderUtil(string path) : this(path, Encoding.Default) 3 { 4 } 5 6 /// <summary> 7 /// ファイル名、文字エンコーディングを指定して、 <see cref="CsvBuilder">CsvWriter</see> クラスの新しいインスタンスを初期化します。 8 /// </summary> 9 /// <param name="path">書き込む完全なファイルパス。</param> 10 /// <param name="encoding">使用する文字エンコーディング。</param> 11 public CsvBuilderUtil(string path, Encoding encoding) 12 { 13 var stream = new FileStream(path, FileMode.Create, FileAccess.ReadWrite); 14 this.stream = new StreamWriter(stream, encoding); 15 } 16 17public void Write<T>(List<List<T>> data) 18 { 19 foreach (var row in data) 20 { 21 this.WriteRow<T>(row); 22 } 23 } 24
環境
・.NET Frame Work 4.5
・Visual Studio2013
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。