Webサービステストの単体テストを書いています。C#単体テストソリューションにサービス参照を追加し、テストのためにWebサービスのクラスを利用し始めました。また、単体テスト値を提供するためにExcelファイルを追加しました。
以下は私が以前やっていたことの例です
[DataSource("System.Data.Odbc"
,"Dsn=Excel Files;dbq=|DataDirectory|\\TestData.xlsx;defaultdir=C:\\TestData;driverid=1046;maxbuffersize=2048;pagetimeout=5"
,"Sheet1$"
,DataAccessMethod.Sequential)
,DeploymentItem("TestProject1\\TestData.xlsx")
,Owner("")
,Description("")
,TestMethod()]
public void test1()
{
try
{
var Service = new Service.ServiceClient();
var Cid = testContextInstance.DataRow["CId"].ToString();
var MNumber = testContextInstance.DataRow["MNumber"].ToString();
var VID = testContextInstance.DataRow["VID"].ToString();
var isVisit = new Service.ISVisit()
{
CID = Cid,
MNum = MNumber,
VCode = VID
};
var first = Service.Medis(isVisit).Cast<Service.ISMedi>().FirstOrDefault();
// Assert
Assert.AreEqual("12345678", first.Proc.ProcID);
}
catch (Exception ex1)
{
if (ex1.InnerException != null)
Debug.WriteLine(ex1.InnerException.Message);
Assert.Fail(ex1.Message);
}
}
このtest1は合格し.Medis()
、IsVisit
サービスのクラスです。これまで、Excelファイルに1行しかなく、データを取得してテストすることができました。
ただし、Excelファイルに複数の行がある場合、単体テストで各行をループし、各行をテストして合格/不合格を確認する必要があります。
これを手伝ってください。Excelファイルの各行をループしてテスト結果を確認する方法。c#単体化でこの状況を処理する方法。ありがとうございます。