我目前是一年前开始的项目的新手。
该项目使用 C#、WPF、PRISM (CAL)、Entity Framework、LINQ 等。该应用程序使用 MVVM 模式完成。
有一些单元测试,但我被要求进行功能测试,因为大多数错误是在将所有组件一起使用时发现的。
我开始制作一个 MSTEST 项目。我的目标是启动整个应用程序后端(模型和视图模型),模拟 UI 事件并检查访问或更多视图模型属性的模型修改。
我的第一个客人是创建实体上下文(模型),初始化所有 PRISM 模块并开始在视图模型中发布事件以修改我的模型并在相同或其他视图模型中检查结果。我不得不 :
- 覆盖 prism Boostrapper 类
- 创建一个简单的应用程序(因为在 MSTEST 下它似乎
System.Windows.Application.Current
为空)。我刚刚从System.Windows.Application
.
我可以使用 UnityContainer 访问我的所有接口实现。我现在遇到的问题是它IEventAggregator
不起作用。事件不会被触发。我不想模拟事件聚合器,因为我希望它在棱镜模块之间触发我的事件(我正在做功能测试,而不是单元测试)。
Dispatcher
我找到了一种通过使用and来使其工作的方法DispatcherFrame
,但是我得到了RegionManager
似乎失败的股票。
我的问题是:有没有更好的方法来做我的功能/集成测试而不必显示用户界面?