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



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

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

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

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

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

如果您提供的代码是您编写的唯一代码来将值添加到存储中,则您错过了更新本地设置的最后一行代码。您的更新代码看起来如下:

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

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

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

最新更新