- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
关闭。这个问题是off-topic .它目前不接受答案。
想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。
9年前关闭。
Improve this question
我最近开始了一个新项目,我决定为大多数功能编写单元测试。在此之前,我的测试仅限于偶尔编写测试“功能”以确保某些功能按预期工作,然后从不费心更新测试功能,这显然不好。
现在我已经编写了大量代码和测试,我注意到我正在为我的代码编写大量测试。我的代码通常非常模块化,从某种意义上说,我尝试编写一些简单的小函数,然后根据需要将它们链接到一个更大的函数中,这也是公认的最佳实践。
但是,我现在最终为单独的“构建 block ”功能(相当小的测试)以及将它们链接在一起的功能编写测试,并在那里测试结果,显然结果会有所不同,但由于输入相似,我复制了很多测试代码(设置输入部分,每个部分略有不同,但差别不大,因为它们不相同,我不能只使用文本夹具...)。
另一个问题是我尝试非常严格地坚持每个测试只测试一件事,所以我为函数中的每个不同功能编写了一个测试,例如,如果有一些额外的输入可以传递给函数,但这是可选的,我编写了一个添加输入的版本,一个不添加并单独测试它们的版本。除了我添加的输入之外,这里的设置再次大致相同,同样不完全相同,因此使用夹具感觉不“正确”。
由于这是我的第一个项目,所有内容都经过全面单元测试,我只是想确保我做的事情正确,并且测试中的代码重复是可以预料的......所以,我的问题是:我做的事情正确吗?如果不是,我应该改变什么?
我用 C 和 C++ 编写代码。
顺便说一句,我喜欢测试本身,我现在对我的代码更有信心了。
谢谢!
最佳答案
你的问题试图解决很多问题,我只能尝试回答其中的一部分。
关于c++ - 你的测试应该有多详细/粒度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6622721/
我有 2 个事实表,每个表都有一个度量组,生产和生产订单。生产具有较低粒度的生产信息(在组件级别)生产订单具有较高级别的信息(具有抬头数量等的订单级别)。 我在 productionorderid 的
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我第一次尝试了解 Akka/Actors,并且对每个 Actor 职责的粒度有点困惑。 在我的应用程序中,有可以使用 WidgetRegistrar 注册/取消注册的 Widget。要向 Regist
我们一直在使用 MVP 模式和 Winforms,并取得了相当大的成功。然而,关于 MVP 总是弹出一个问题: 对于演示者来说,什么是好的粒度? 我的意思是:对于 Winforms,细粒度通常适用于用
我通常使用 git add -p 添加更改,而且很多时候有几个代码块的大块头,由空行分隔。 但是,git 不会进一步拆分 大块头,我不得不求助于手动编辑。 如何增加 hunk 的粒度,以便每个代码块都
例如,我看到 dumps.wikimedia.org/other/pagecounts-raw/,但那里没有特定国家/地区的数据... 最佳答案 据我所知,没有。出于明显的隐私原因,发布的页面查看统计
JavaScript 的源映射似乎通常不比 token 粒度更精细。 例如,identity-map uses token granularity . 我知道我看过其他例子,但不记得在哪里。 为什么我
我有这些目录: ./Tools ./ook/Tools. 我在 setup.cfg 中的 py.test 的 norecursedirs 选项中添加了 Tools。正如预期的那样,当 py.test
我正在使用这个 Accelerometer graph来自 Apple 并尝试转换他们的 G-force 代码以计算 +/- 128。 下图显示标签中的 x、y、z 值与图表上的输出不匹配:(请注意,
此问题围绕 Android 应用程序的架构展开。 在使用 LifeCycle 组件 ViewModel 时,最好是每个 fragment 一个 ViewModel 还是订阅 fragment 的父 A
我是一名优秀的程序员,十分优秀!