测试用例应仅包含相关细节
2026/4/18 23:48:32 网站建设 项目流程

下面的代码中有什么问题使得这个测试用例难以理解?

  1. def test_get_balance(self):

  2. settings = BankSettings(FDIC_INSURED, REGULATED, US_BASED)

  3. account = Account(settings, ID, BALANCE, ADDRESS, NAME, EMAIL, PHONE)

  4. self.assertEqual(account.GetBalance(), BALANCE)

问题在于,账户创建的代码中存在很多杂乱信息,很难分辨哪些细节与断言语句相关。

但是,从一个极端到另一个极端也会使得测试难以理解:

  1. def test_get_balance(self):

  2. account = _create_account()

  3. self.assertEqual(account.GetBalance(), BALANCE)

‍这里的问题是,_create_account() 辅助函数中隐藏了关键细节,因此不清楚 BALANCE 字段来自何处。要理解这个测试用例,就需要切换上下文,深入研究辅助函数。

一个好的测试用例应该只包含与用例相关的细节,同时隐藏杂乱信息:

  1. def test_get_balance():

  2. account = _create_account(BALANCE)

  3. self.assertEqual(account.GetBalance(), BALANCE)

通过这样的优化,测试的数据流动将更加清晰可见。例如:

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询