Unit testing 如何使用Winforms开始使用TDD
最近我读/看了太多关于TDD和BDD的文章,我真的很想掌握它。我是一个只编写代码然后从外部测试代码的开发人员(就像我们总是从外部开始的那样)。问题似乎在于如何启动和运行TDD。我只想创建一个简单的Winform应用程序,在其中我想显示一些东西的列表,比如说产品。我只是不知道从哪里开始,我应该先为控制器写一个测试吗?控制器需要引用以查看和服务等。NETMVC是为测试而构建的,因此入门有点容易,但Winforms是一个真正的难题。请给我一些在Winforms中显示TDD的视频(最受欢迎) 我看了大量视频,显示您正在测试一个类或功能,但如何测试不支持测试的UI 简言之,我想知道是否有人已经做了一段时间的TDD,如何做 他/她是否在Winforms中做这件事Unit testing 如何使用Winforms开始使用TDD,unit-testing,tdd,automated-tests,bdd,Unit Testing,Tdd,Automated Tests,Bdd,最近我读/看了太多关于TDD和BDD的文章,我真的很想掌握它。我是一个只编写代码然后从外部测试代码的开发人员(就像我们总是从外部开始的那样)。问题似乎在于如何启动和运行TDD。我只想创建一个简单的Winform应用程序,在其中我想显示一些东西的列表,比如说产品。我只是不知道从哪里开始,我应该先为控制器写一个测试吗?控制器需要引用以查看和服务等。NETMVC是为测试而构建的,因此入门有点容易,但Winforms是一个真正的难题。请给我一些在Winforms中显示TDD的视频(最受欢迎) 我看了大量
我写了大量的代码,我只是删除,因为我卡住了,请帮助 以下是我如何为任何类型的用户界面(无论是Web、Winforms、WPF或Java中的Swing,甚至是其他系统将要使用的Web服务界面)执行此操作的方法
- 编写UI,并对其背后的任何数据进行硬编码
- 写入控制器,并将硬编码数据移动到控制器。控制器应该只是以UI可以理解的形式呈现数据
- 编写一个示例,说明UI将如何以最基本的形式使用控制器
- 让这个例子起作用
- 编写另一个示例,展示控制器在不同上下文中的不同行为
- 让这个例子起作用
这就是我们在BDD中谈论“由外而内”时所做的。我也是TDD的新手,和你一样,我也在努力学习。以下是我在搜索过程中得出的结论,也许对您也有帮助:
祝您搜索顺利。控制器是一个很好的起点。将视图公共api提取到接口,并使用模拟框架测试控制器与该接口的交互。您也可以对服务层执行同样的操作。 此外,我将对该应用程序采用自底向上的方法,并在向UI层添加测试之前对较低级别的层进行单元测试。在UI层,我将使用BDD框架编写一组验收测试,并使用模拟框架使这些测试变得轻量级并减少测试数量
祝你好运 谢谢你的反馈。真有趣!我要试一试。我喜欢您的解决方案的地方是采取初步步骤,先编写熟悉的代码。一旦我掌握了这项技术,我就可以采用纯测试优先的技术。谢谢你的回复非常有用。嗯,我从来没有为UI写过单元测试——太多了。但是,如果需要,可以先编写BDD场景。这是一个良好的开端。祝你好运感谢hattenn,您的输入非常有价值,您已经参考了一些很棒的视频和书籍。非常有用!谢谢你的回复。