Python TDD 目录结构

2024-04-29

Python 中是否有用于 TDD 的特定目录结构?

教程讨论测试的内容,但不讨论测试的位置

通过研究 Python Koans,怀疑它是这样的:

/project/main_program.py         # This has main method, starts program
/project/classes/<many classes>.py
/project/main_test.py            # This simply directs unittest onto tests, can use parameters fed to it to customise tests for environment
/project/tests/<many tests>.py

# to run tests, type "python -m unittest main_test.py" (into a terminal)
# to run program, type "python main_program.py"

我这样做对吗?有没有一个很好的指南来教授 TDD 的目录层次结构?我听说混合代码和测试文件很糟糕。

参考:

  • 对于刚接触测试的经验丰富的程序员来说,是否有任何好的 TDD 在线教程? https://stackoverflow.com/questions/1126173/are-there-any-good-online-tutorials-to-tdd-for-an-experienced-programmer-who-is# 编码道场?嗯...也许我会创建一个编码道场网站...
  • http://onlamp.com/pub/a/python/2004/12/02/tdd_pyunit.html http://onlamp.com/pub/a/python/2004/12/02/tdd_pyunit.html#显示混合文件
  • http://www.youtube.com/watch?v=sD6qzJNQEpE http://www.youtube.com/watch?v=sD6qzJNQEpE#尽管 pyTDDmon 看起来很棒,但我想先了解基础知识 =) 这也是一个混合文件
  • http://www.slideshare.net/Skud/test-driven-development-tutorial http://www.slideshare.net/Skud/test-driven-development-tutorial#仅解释“设计测试实施测试重复”。
  • http://blog.cerris.com/category/django-tdd/ http://blog.cerris.com/category/django-tdd/#还是没有帮助...
  • http://docs.python.org/library/unittest.html http://docs.python.org/library/unittest.html

根据您的项目,无论哪种风格都可以

  • 将实现代码与测试代码分开
  • 轻松创建新测试
  • 在一项操作中运行所有测试(例如回归测试)

python koans/等只是指导方针。最后,您希望在单元测试中坚持 DRY,并能够轻松、可维护且直观地进行测试。最后由您决定文件夹结构。

我觉得你过于关注满足惯例而不是满足你的项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python TDD 目录结构 的相关文章

随机推荐

  • 如何在 if () 语句中声明变量? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 的条件或控制语句中声明和初始化变量 https stackoverflow com questions 1516919 declaring and initializing a variabl
  • CoreBluetooth XPC 连接无效

    public class BLE NSObject CBCentralManagerDelegate var centralManager CBCentralManager public override init super init s
  • 优化Gson反序列化

    优化反序列化的最佳方法是什么 我目前正在使用标准 Gson toJson 和 Gson fromJson 方法来序列化和反序列化一些复杂对象 我希望尽可能减少反序列化时间 如果重要的话 我的最复杂的对象包含 43 个变量 如果你想使用 Gs
  • 为什么这个多处理代码会失败? [复制]

    这个问题在这里已经有答案了 def sample pass Process target sample start Process target sample start 上面的代码失败并出现错误 已尝试在当前进程之前启动新进程 进程已完成
  • 选择 G 元素内的路径并更改样式

    本质上 我试图让除悬停的路径之外的所有路径都变成灰色 而选择的路径则保持其原始颜色 我已经能够将所有其他路径变成灰色 但是我在使用 select this 函数并实际访问我想要更改样式的路径时遇到了问题 看来我实际上已经成功地找到了 g 组
  • 如何在网格视图中突出显示文本的结果? [复制]

    这个问题在这里已经有答案了 可能的重复 如何突出显示某个单词 https stackoverflow com questions 9546761 how can i highlight a word 我有一个网格视图和一个文本框 用于从列中
  • 使用java读取行并映射过滤数据[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions publi
  • 安卓应用安全

    我想开发一个用户数据非常敏感的应用程序 我是开发新手 所以不确定以下内容 技术对于安全或高效来说是必要的 请留下您的评论 提前致谢 为了额外的安全性 我们可以避开市场 游戏商店 并将应用程序安装在个人设备上 它会让它更安全吗 我必须在设备上
  • BASH - 随机排列文件中字符串中的字符

    我有一个文件 filename txt 具有以下结构 gt line1 ABC gt line2 DEF gt line3 GHI gt line4 JKL 我想打乱字符串中的字符not开始机智 gt 输出将 例如 如下所示 gt line
  • 使用 Powershell 查找字符并重命名文件名

    我的目录中有大量具有此类命名约定的文件 1050 14447 Letter Extension pdf 等 我需要删除第二个下划线之前的所有字符 包括第二个下划线 因此新文件名将是 Letter Extension pdf 如何相应地迭代单
  • 在 Scala 中有效地重复字符/字符串 n 次

    我想更有效地执行以下操作 def repeatChar char Char n Int List fill n char mkString def repeatString char String n Int List fill n cha
  • 删除特定标签内的内容

    使用 Rails 3 2 我想删除其中的所有文本 b 和标签 但我设法找到只剥离标签的方法 string p b Section 1 b Everything is good br b Section 2 b All is well p s
  • 我应该提交yarn.lock 文件吗?它的用途是什么?

    纱线创造了一个yarn lock执行后的文件yarn install 应该将其提交到存储库还是忽略 它是做什么用的 是的 你应该检查一下 看看从 npm 迁移 https yarnpkg com en docs migrating from
  • 更新 Laravel 路由文件没有效果

    我正在尝试创建一个视图来显示数据库中的数据 但我发现我的路线文件不再执行任何操作 目前我正在尝试让测试功能正常工作 但是当我去 test它只是说 找不到网页 其他路线有效 即使我删除所有内容并保存文件 所有其他路线都可以工作 我努力了art
  • 在 WildFly 10 中添加 jar 作为部署

    有没有办法 我们可以将 jar 部署为库 部署WildFly 10就像我们可以做到的那样weblogic服务器 或者我们可以将 jar 放在服务器的任何文件夹中并将这些依赖项定义为provided 我得到了什么部署方式jars on Wil
  • 如何选择表中包括 colspan 的列?

    假设我有一个如下所示的表 table tr td td td td td td td td td td td td tr tr td td td td td td td td tr tr td td td td td td td td tr
  • 是否可以知道函数是否使用空返回语句?

    是否有可能知道函数是否使用空 return 语句还是简单地不使用 return 关键字 例如 function noReturn function useReturn return console log noReturn undefine
  • Subversion:暂存文件以显式提交?

    我已经非常习惯 git 的方式 即必须接触要提交的每个文件 并且在执行此操作时仔细检查差异 现在在工作中我必须使用 svn 并且我总是不小心提交一些东西 有没有办法让 subversion 的行为像 git 一样 因为我必须明确告诉每个文件
  • Bash,在包含子目录的目录中的每个 .jpg 文件上运行脚本

    我有一些工作代码 它非常简单 它复制每个 jpg 文件 将其重命名为 1 jpg 不用担心 for i in jpg do cp i i jpg 1 jpg done 我如何运行它 以便它适用于目录中的每个文件 该目录的子目录中的每个文件
  • Python TDD 目录结构

    Python 中是否有用于 TDD 的特定目录结构 教程讨论测试的内容 但不讨论测试的位置 通过研究 Python Koans 怀疑它是这样的 project main program py This has main method sta