首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在数据库端使用逻辑测试Windows窗体应用程序

在数据库端使用逻辑测试Windows窗体应用程序
EN

Stack Overflow用户
提问于 2020-01-17 21:05:03
回答 2查看 72关注 0票数 0

我正在开发C# Windows Forms应用程序。

所有的业务逻辑都在PLSQL端( DataBase )。在C#端只有一个前端(列表框、复选框和从数据库获取数据的按钮)。我想为它写一些单元测试,但是不能在NUnit3中使用Windows Forms (VS看不到库,不能创建ComboBox的对象等等)。

我的问题是--有没有可能通过NUnit测试UI项?当业务逻辑在DB端时,是否有必要对其进行测试?

EN

回答 2

Stack Overflow用户

发布于 2020-01-18 02:55:58

需要明确的是,通过 UI、驱动点击、条目等来测试的工具并不是单元测试。它们只是一种自动化应用程序测试的方法,就像一个好的测试人员会做的那样,减去了人类测试人员的创造性洞察力。

设计良好的GUI,包括为Windows窗体编写的GUI,可以从单元测试中受益,但它通常不需要后端所需的那么多。例如,您不需要测试TextBox是否显示您输入的文本-- TextBox的代码不是您的代码。你可能想要测试TextBox的文本是否正确,TextBox的位置和大小是否设置正确--至少它在屏幕上是可见的。

这是你的判断,需要多少这种类型的测试。如果您想要编写这样的测试,NUnit是一个很好的工具--同级别的大多数测试框架一样。如果你是NUnit和/或编程单元测试的新手,你应该意识到大多数人认为这种图形用户界面测试比后端测试更高级。(我过去经常讲授Windows GUI测试课程,我的目标读者是那些已经知道NUnit an已经用它做了几年单元测试的人。)

我的建议是在GUI中找到您已经看到或预期到错误的地方。例如,您可能有一个复选框,用于控制其他控件是否处于活动状态。这种图形用户界面逻辑正是的单元测试有价值的地方。

一般建议..。

  • 不要试图对外观进行单元测试--只是看看它!
  • 使用模拟来替换任何后端数据库或服务器端代码。
  • 使用允许单独测试图形用户界面逻辑的架构-我喜欢用于Windows Forms的MVP和(显然)用于WPF的MVVM。
  • 分别测试事件的发起和处理<>E221,而不是作为一件事。对于源自SWF控件的事件,这一点尤其重要。

如果您这样做了,并且遇到了特定的问题,请给我们另一个问题。

票数 0
EN

Stack Overflow用户

发布于 2020-01-17 21:53:21

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59787946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档