JSON入力がデシリアライズされているかどうかを単体テストできますか? JSON入力を逆シリアル化し、計算してからシリアル化しようとしています。しかし、自分の入力がデシリアライズされているかどうかをチェックする方法はわかりません。だから、私はユニットテストを書いて検証しています。C#ユニットデータの入力がデシリアライズされているかどうかを確認します
注: AlphaCalcParam ParseParameterはプライベートメソッドです。これは私が間違っているところです。今
ユニットテスト
[TestMethod()]
public void ParseParameterTest()
{
Algo.Alpha.AlphaCalculator calc = new Alpha.AlphaCalculator();
string test_input = File.ReadAllText(@"..\..\..\case\Alpha Example Input.json");
string expected = File.ReadAllText(@"..\..\..\case\Alpha Example DOutput.json");
string res = calc.AlphaCalcParam(test_input);
res == expected
Assert.Fail();
}
ロジック
public string Calculation(string json_param)
{
try
{
AlphaCalcParam param = ParseParameter(json_param);
AlphaCalcResults result = CalculateAlpha(param);
return JsonConvert.SerializeObject(result);
}
catch (Exception e)
{
return "Failed in Alpha Calculation!. " + e.Message;
}
}
...some more code.. below is what i want to test...
private AlphaCalcParam ParseParameter(string json_param)
{
try
{
return JsonConvert.DeserializeObject<AlphaCalcParam>(json_param);
}
catch (Exception ex)
{
throw new Exception("The input json string format is wrong for Alpha Calculation!. " + ex.Message);
}
}
真剣に、すべてのdownvotesで理解していない。 C#の新機能です。学ぼうとしている。私の改善に役立ててください。それは私がstackoverflowのためだと思ったものです。 –