UWP 单元测试项目清除本地设置值
UWP Unit Test Project Clearing local setting values
我在解决方案中有一个 UWP 应用程序和一个单元测试项目。当我尝试在调试模式下 运行 单元测试项目时,我存储在应用程序本地设置中的数据被清除。
我会像下面这样获取本地设置。
var localSettings= Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["exampleSetting"] = "Hello Windows";
我会在 运行 应用程序时设置 "exampleSetting" 的值。现在我将关闭应用程序,然后当我 运行 单元测试项目并尝试访问 "exampleSetting" 值为空时。
内容太大,无法放在评论中,所以我 post 将其作为答案。
如果您提供的代码是您为将值添加到存储而编写的唯一一段代码,那么您将错过更新本地设置的最后一行代码。您更新后的代码如下所示:
var localSettings= Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["exampleSetting"] = "Hello Windows";
Windows.Storage.ApplicationData.Current.LocalSettings = localSettings;
最后一行会将现有的本地设置更新为修改后的设置。
现在进行本地存储测试,测试是在测试环境中完成的,因此测试将无法在环境之外存储或保留值,因此,当您将数据存储到应用程序的本地存储单元中时测试,应用运行时不会反映vis.ver。我这样说是因为我在为我的 UWP 应用程序使用 NUnitTests
时遇到了同样的问题。
我在解决方案中有一个 UWP 应用程序和一个单元测试项目。当我尝试在调试模式下 运行 单元测试项目时,我存储在应用程序本地设置中的数据被清除。
我会像下面这样获取本地设置。
var localSettings= Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["exampleSetting"] = "Hello Windows";
我会在 运行 应用程序时设置 "exampleSetting" 的值。现在我将关闭应用程序,然后当我 运行 单元测试项目并尝试访问 "exampleSetting" 值为空时。
内容太大,无法放在评论中,所以我 post 将其作为答案。
如果您提供的代码是您为将值添加到存储而编写的唯一一段代码,那么您将错过更新本地设置的最后一行代码。您更新后的代码如下所示:
var localSettings= Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["exampleSetting"] = "Hello Windows";
Windows.Storage.ApplicationData.Current.LocalSettings = localSettings;
最后一行会将现有的本地设置更新为修改后的设置。
现在进行本地存储测试,测试是在测试环境中完成的,因此测试将无法在环境之外存储或保留值,因此,当您将数据存储到应用程序的本地存储单元中时测试,应用运行时不会反映vis.ver。我这样说是因为我在为我的 UWP 应用程序使用 NUnitTests
时遇到了同样的问题。