c# - 单元测试现有的 UI 代码

标签 c# .net unit-testing user-interface mfc

我浏览了一段时间的互联网和这个网站,没有找到一些方法来对我现有的代码进行单元测试,唯一的发现是将逻辑和与用户的交互分开(MVC 方法)。尽管这对新项目来说非常好,但它很耗时,因此对现有项目的投资成本太高。有没有办法为现有的 GUI 项目创建特定的单元测试,最好是自动化的,不幸的是,这些项目直接连接到数据库或其他系统以获取数据,并且数据在显示之前被操纵?目前我们有两个项目,一个是 MFC,另一个是 C# .net 2.0 非常感谢。

最佳答案

考虑到您无法更改现有代码(更不用说您实际上并没有对 UI 进行单元测试),单元测试不会在这里进行。您应该寻找某种 GUI 测试自动化/脚本工具。喜欢Sikuli .从字面上引用他们网站的第一段:

Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots).

没有比这更简单的了。您“告诉”该工具它应该观察/交互 UI 的哪些部分,它会记录并重放它。浏览this presentation会让你知道你到底能做什么(也可以查看他们的视频)。可能无法解决您的所有问题,但可能是值得考虑的备选方案。

关于c# - 单元测试现有的 UI 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9631524/

相关文章:

c# - Hub 中 HttpContext.GetOwinContext() 的等价物是什么?

c# - .NET CLR 是否真的针对当前处理器进行了优化

c# - 英孚。在没有 DbContext 的情况下调用实体验证

c# - 使用 C# .net 检测进程已在 Windows 中运行

c# - 获取集合的添加/删除事件的通用类

c# - 在 ASP.NET Core 中尽快获取当前 URL program.cs/startup.cs

.net - ADO.NET 与 WCF

sql-server - 在没有实际的 SQL Server 数据库启动和运行的情况下,我将如何配置工作量测试工具来模拟 Entity Framework 的 DbContext?

windows - 如何在 Windows 系统上测试 App Engine 项目?

c# - EF代码首先不创建数据库