- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经尝试学习 Python 大约 6 周了。在这个网站上阅读了很多关于 TDD 的内容后,我购买了 Roy Osherove 的单元测试艺术(好书!),在学习 Python 的同时尝试使用 TDD。这本书使用.NET 但它似乎不是问题。 stub 是 stub ,模拟是模拟。
当我在网上阅读和查看 TDD 示例时,我真的觉得我理解了为什么编码人员会像他们那样编写代码。但是,一旦我坐下来尝试自己,我一无所获。
让我举个昨天的例子:
我想为一个不那么复杂的项目尝试 TDD。基本上,我想要的是一个类,它通过下载和解析 RSS 提要来保存包含(名称、日期)的元组列表。我为我的测试创建了一个新的 py 文件(还没有编写“真正的代码”)并编写了一个测试用例:
import unittest
from tv_schedule import TvSchedule
class TvScheduleTests(unittest.TestCase):
def test_download_success_and_parse_failure(self):
'''Successfully download RSS schedule for the specific user
but fail parsing it'''
self.tv = TvSchedule("User123")
# Check if ParserException was thrown I guess
if __name__ == "__main__":
unittest.main()
...然后我有点卡住了。我认为(笑!)。如果这只是愚蠢的和/或我如何才能做得更好,我真的需要一些指示。我的直觉告诉我我做了坏事。
我想让 TvSchedule 类在后台进行下载/解析(使用 feedparser ),因此您只需创建该类的一个新实例,然后就可以使用它了。也许这是糟糕的设计并且也很难测试?另外,我将如何消除对通过网络检索 rss 提要的依赖?通过 stub 并始终返回包含示例提要的内存中字符串?
一旦离开 TDD 教程和书籍喜欢使用的非常简单的计算器示例,我就会陷入困境。 :(
最佳答案
您可能遇到的一个挑战是您的测试过于广泛。一次下载和解析所有内容意味着您将编写大量代码。尝试将第一个测试压缩一点。这可能有助于让您集中注意力。
另一个挑战可能是您正在编写没有太多逻辑的代码,您只是委托(delegate)给其他库来进行下载和 RSS 解析。这使得很难解决问题。在那种情况下,这可能是一个相当无趣的例子来尝试练习。考虑尝试试驾类似 Conway's Game of Life 的东西作为一个有趣但更简单的问题。
希望对您有所帮助!
布兰登
关于python - 尝试学习 TDD - 不太顺利,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10535576/
我正在尝试实时动态地将 subview 添加到 UiScorllView(以节省内存)。 这样做会导致 ScrollView 挂起一小会儿...解决这个问题的方法是什么? 任何提示表示赞赏 最佳答案
我想将一个 DIV 位置依次设置为 bottom = 0 和 height = 0,以便第一个动画以相同的速度平滑地跟随第二个动画。问题是 DIV 会根据内容调整其高度,因此当我对两个动画使用相同的持
我想根据滚动更改工具栏的 alpha,如下所示: 起初,工具栏是透明的,滚动到底部会越来越明显,最后会完全不透明(可见)。 我的布局结构是:
我正在尝试使用 Canvas 调整一些图像的大小,但我对如何平滑它们一无所知。在 photoshop、浏览器等上。他们使用了一些算法(例如双三次、双线性),但我不知道这些是否内置在 Canvas 中。
我是一名优秀的程序员,十分优秀!