c# - 如何应用 TDD/BDD 方法从 C# 使用 Oracle 数据库中的数据创建 Excel 文件

标签 c# unit-testing tdd bdd

我正在开始一个新项目,我必须根据 Oracle 数据库中的某些数据创建和操作多个 Excel 文件。我想在这个项目中学习和应用 TDD/BDD 方法论,以改善我的编程习惯和项目本身。

但是,我不确定我应该做什么或从哪里开始?我正在寻找一些指导或路线图,以确保我正确地实际应用这些概念。

我需要检查什么?如果无法安装某些 DI 或 Mock 工具,我是否有机会正确创建 TDD/BDD 方法?

我之所以说可能无法安装软件,是因为不是所有的软件都在公司允许。

到目前为止,我已经安装了 nUnit。我不确定我是否需要其他工具或代码框架/库。

谢谢。

最佳答案

IMO,如果您是初学者并且想学习 TDD 和 BDD,这可能不是最好的入门项目。

TDD 和 BDD 在处理对象时非常有效。你离对象越远,它就变得越复杂,因为你正在处理外部依赖性,这些依赖性很难测试。数据库和 Excel 文件都是很好的例子。虽然实例化一个测试对象、将其设置为已知状态并在一些操作后验证其状态相当简单,但对于 DB 来说,同样的事情很复杂:您需要使用真实的 DB,设置其状态,并编写额外的代码来验证其状态(这更像是一种集成测试方法),或者使用 Mocks,这可能不是最容易上手的技术。

我的入门建议是专注于严格处理对象的应用程序部分。在这种情况下,NUnit 和 Moq 之类的 Mocking 框架在很大程度上就足够了。

关于c# - 如何应用 TDD/BDD 方法从 C# 使用 Oracle 数据库中的数据创建 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7680387/

相关文章:

java - 如何模拟正在测试的同一个类中的另一个方法?

android - 我可以在 Android 开发过程中使用 TDD 吗?

c# - 静态类与具有构造函数性能的类

C#队列对象入队后在队列中修改

java - 如何通过不变检查对序列化进行单元测试?

.net - 为 .Net 选择模拟框架时应该考虑什么

ruby-on-rails - RubyMine 不能使用 Guard 吗?

c# - 绑定(bind)到用户控件中的 Observable 集合并从中获取通知

c# - 为什么在这个例子中针对 null 进行测试?

unit-testing - 如果一个项目具有100%的单元测试覆盖率,是否仍然需要集成测试?