WPF单元测试DirectoryNotFoundException

时间:2011-03-17 12:05:06

标签: wpf unit-testing resources path

我无法实例化从资源加载图像的视图模型。

我正在测试的程序集中失败的行是:

get { return new ImageSourceConverter().ConvertFromString("pack://application:,,,/Resources/Icons/Commands/DisabledNewSessionIcon.png") as ImageSource; }

例外是: 无法创建类

的实例
  

GPAnalysisSuite.Tests.View_Models.Session_Controller.SessionControllerViewModel_NonDefaultConstructorTester。   错误:   System.IO.DirectoryNotFoundException:   找不到路径的一部分   'C:\ TGP \ GP分析   套房\应用\测试\ TestResults \ Paul_PAUL-GP   2011-03-17   11_27_28 \缺货\资源\图标\命令\ DisabledNewSessionIcon.png” ..

我已经找到了一个类似问题的解决方案,并将以下内容包含在TestClass中:

 [AssemblyInitialize]
    public static void InitialisePackageUriHelper(TestContext context)
    {
        PackUriHelper.Create(new Uri("reliable://0"));
        new FrameworkElement();
        System.Windows.Application.ResourceAssembly = typeof(App).Assembly; 
    }

我可以看到我需要保留我正在测试的程序集的Uri,但不知道该怎么做,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

我似乎通过将资源构建操作从内容更改为资源来解决问题 虽然我每次想要运行单元测试时都必须重建解决方案,但现在至少可以使用它。