UWP单元测试项目清除本地设置值

时间:2017-06-28 04:38:00

标签: xaml uwp windows-runtime microsoft-metro

我在解决方案中有一个UWP应用程序和一个单元测试项目。当我尝试在调试模式下运行单元测试项目时,我存储在应用程序本地设置中的数据将被清除。

我将获得如下的本地设置。

var localSettings= Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["exampleSetting"] = "Hello Windows";

我将设置" exampleSetting"的值。当我运行应用程序时。现在我将关闭应用程序,然后当我运行单元测试项目并尝试访问" exampleSetting"该值为null。

1 个答案:

答案 0 :(得分:0)

内容太大,无法发表评论,所以我会将其作为答案发布。

如果您提供的代码是您编写的唯一代码,以便将值添加到存储中,那么您将错过更新本地设置的最后一行代码。您更新的代码如下所示:

var localSettings= Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["exampleSetting"] = "Hello Windows";
Windows.Storage.ApplicationData.Current.LocalSettings = localSettings;

最后一行会将现有的本地设置更新为已修改的设置。

现在进行本地存储测试,测试在测试环境中完成,因此测试将无法在环境外存储或保留值,因此,当您在单元测试中将数据存储到应用程序的本地存储时,当应用程序运行和vis.ver时,它不会被反映出来。我这样说是因为我在使用NUnitTests作为我的UWP应用程序时遇到了同样的问题。