4
|
Scott Whitlock · 技术社区 · 14 年前 |
![]() |
1
1
这里的问题是,您正在单元测试WPF,它需要一个STA才能正常运行,但是单元测试框架正在使用MTA。您需要设置单元测试框架以在STA中运行测试。 每个框架都有不同的方法。通常只需在Google中输入测试框架名称和STA就可以找到它。 |
![]() |
2
1
运行单元测试的线程不是STA线程,您可以创建这样的STA线程:
我不知道您使用的是什么单元测试框架,以及如何更改它的线程模型,但是您需要在线程之前以某种方式调用thread.setapartmentstate。从这里开始。 “单元状态”是一个COM事物,它是WPF所必需的,因为(正如错误所说)许多WPF控件都需要COM,一个STA线程不会自动有一个与其关联的调度程序。 通常您不需要担心调度器,如果需要,系统将创建一个调度器。
如果您确实需要为线程创建一个调度程序,您可以直接读取
|
![]() |
3
0
您是否使用其他非UI线程?如果是,您确定他们不访问此属性吗?检查您是否在使用线程或异步运行(如filesystemwatcher)的框架中使用了可能使用此属性的任何组件。不过,更多的代码会有所帮助。 |
![]() |
4
0
我认为你可能需要稍微改变一下你的方法。我认为您需要做的是修改视图模型,以便公开图像的URI,而不是图像控件。 在单元测试中,您将能够验证是否将图像源设置到正确的位置,并且在您的UI中,您只需要将图像控件的源数据绑定到URI。 |
![]() |
mg610 · 如何开始C++单元测试 2 年前 |
![]() |
Phil Gunning · 使用嵌套函数更改进行模拟测试 2 年前 |
![]() |
shilin agre · 在Python中测试修饰函数 2 年前 |
![]() |
SlipScout · Unittest只传递单个值,而不是获取多个值 2 年前 |
![]() |
Alex · 从实际对象的实例返回默认模拟结果 2 年前 |