我有这个函数和测试:
public void SaveForWeb ()
{
UpdateGameState();
try
{
PlayerPrefs.SetFloat(Helper.EXP_KEY, experience);
PlayerPrefs.SetFloat(Helper.SCORE_KEY, score);
// other properties that need to be saved in PlayerPrefs
PlayerPrefs.Save();
}
catch (Exception ex)
{
Debug.Log(ex.Message);
}
}
[Test]
[Category(Helper.TEST_CATEGORY_SAVE_FOR_WEB)]
public void SaveForWebTest ()
{
// arrange
var slgdController = FakeSaveLoadGameDataController();
TestDelegate myDelegate = () => {};
// act
slgdController.SaveForWeb();
// assert
Assert.DoesNotThrow(myDelegate);
}
但是我感觉这个断言和SaveForWeb()
函数的调用之间没有关联。
注意:SaveForWeb()使用Unity3D API中的PlayerPrefs,如果本地文件超过1MB可能会抛出PlayerPrefsException异常。
这种方式是否正确断言函数不会抛出异常?