ATDD、Gherkin、Specflow 方法、黑盒测试问题

ATDD, Gherkin, Specflow approach, blackbox testing issue

我正在尝试获得一些使用 ATDD 进行外部开发的经验,现在我遇到了第一个障碍。

该应用程序是一个简单的桌面应用程序 (wpf),它应该能够在文件系统中搜索重复项。

我要实现的第一个功能是自定义应该搜索的目录。但我不知道我应该如何端到端地测试该功能。

创建一个包含 2 个文件(重复)的测试目录是否是一种很好的自动化方法,然后 select 在用户界面上创建该目录,然后开始搜索并验证结果是否为创建的 2 个文件?

我会测试更多,而不仅仅是指定搜索目录的功能。

功能:自定义搜索目录

In order to speed up and better control the search

As a customer

I want to customize the directories which will be searched

感谢您提供的反馈可以减少我的困惑

在 BDD 或 ATDD 中,您不必端到端地测试所有内容。以某种方式使用系统然后监视它并看到预期的事情已经发生是完全没问题的。

在您的情况下,“自定义应搜索的目录”,我会考虑指定目录并确保我可以验证它们是否已正确指定。这并不一定意味着使用用户界面。

Scenario: customize the directories which should be searched
  Given Thomas wants to search two directories
  When he selects ./tmp and ./home/thomas
  Then should ./tmp and ./home/thomas be selected

此示例指定了我想要的内容、要搜索的目录以及最后验证将要搜索的正是这些目录。它没有指定是否涉及文件系统,也没有指定任何 UI 细节。那些东西可以而且应该被向下推到堆栈中,以供步骤稍后使用的一些辅助方法使用。

这意味着您可以验证核心逻辑,选择两个目录,或者您可以从用户界面验证与系统的交互。

我要做的第一件事就是验证核心逻辑。如果我需要,我可能会在 UI 存在后验证它。