gpt4 book ai didi

unit-testing - 单元测试——不能从理论走向实践

转载 作者:行者123 更新时间:2023-12-04 17:13:20 24 4
gpt4 key购买 nike

似乎我遇到的每个单元测试示例都非常明显和固定。诸如断言 x + 3 == 8 之类的事情。我只是很难看到我将如何对现实世界的事物进行单元测试,例如 SQL 查询,或者用于表单验证的 regEx 是否实际正常工作。

举个例子:我正在开发两个由 DB 驱动的 ASP.NET MVC 2 站点。我为他们每个人都有一个测试单元解决方案,但不知道什么样的测试会有用。该站点要做的大部分工作是将数据写入数据库,或者从数据库中检索和组织数据。我会简单地测试各种查询是否成功访问了数据库?我将如何测试正确性(例如,将数据写入正确的字段,或正在检索正确的数据)?

我只是很难将我自己的非正式测试和调试方式转变为更正式的 assert(x) 类型的测试。

最佳答案

为了使单元测试可行,您的代码必须适用内聚和解耦原则。事实上,它会在您应用这些原则时将这些原则强加给您的代码。意思是,如果你的代码没有很好地分解(即正确应用面向对象设计原则),单元测试将几乎不可能和/或无用。

因此,对于您来说,更好的思考方式可能是“我如何将我的应用程序的所有工作划分为更小、更有凝聚力的代码段,这些代码段只执行一两件事,并使用它们来组装我的应用程序?”

除非您将这种思维方式内化为您对代码的看法,否则单元测试可能没有意义。

关于unit-testing - 单元测试——不能从理论走向实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com