问题标签 [failing-tests]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
2477 浏览

tdd - TDD - 什么时候可以编写不失败的测试?

据我了解,在 TDD 中,您必须先编写一个失败的测试,然后编写代码使其通过,然后重构。但是,如果您的代码已经说明了您要测试的情况怎么办?

例如,假设我正在对排序算法进行 TDD(这只是假设)。我可能会为几种情况编写单元测试:

输入 = 1, 2, 3
输出 = 1, 2, 3

输入 = 4, 1, 3, 2
输出 = 1, 2, 3, 4
等等...

为了使测试通过,我最终使用了一个快速的“n 脏冒泡排序”。然后我重构并用更有效的合并排序算法替换它。后来,我意识到我们需要它是一个稳定的排序,所以我也为此编写了一个测试。当然,测试永远不会失败,因为归并排序是一种稳定的排序算法!无论如何,我仍然需要这个测试,以防有人再次重构它以使用不同的、可能不稳定的排序算法。

这是否打破了始终编写失败测试的 TDD 口头禅?我怀疑有人会建议我浪费时间来实现一个不稳定的排序算法,只是为了测试测试用例,然后重新实现合并排序。你多久遇到一次类似的情况,你会怎么做?

0 投票
6 回答
1605 浏览

unit-testing - 你如何处理失败的单元测试?

我在一个解决方案文件中有许多项目,它们为它们编写了单元测试,我想将它们设置为由我们的持续集成服务器运行。但是,由于许多测试写得不好并且没有定期运行,所以很多测试都失败了。

我目前没有时间修复所有测试,但我确实相信运行现有测试是有价值的。处理失败的单元测试的最佳方法是什么?

我目前正在做的是将每个失败的测试标记为显式并留下 TODO 评论。

有没有更好的方法来做到这一点?或者我应该先修复所有测试,然后再将它们包含在 CIS 运行的测试中?

0 投票
2 回答
623 浏览

java - Java/Swing FEST 测试荒谬地失败了

我有一个测试有时会在requireSelected()通话中失败,我不知道为什么。

我尝试将代码更改为在 EDT 上而不是在测试的 main 上运行,但似乎不允许从 EDT 调用任何夹具的方法。

为什么这个测试会失败?

更新:更多细节:

里面什么都没有setUp()

这是故障跟踪:

0 投票
2 回答
740 浏览

ruby-on-rails - Rails 教程第 7.4.4 章 Git 后所有测试都失败

成功完成注册页面后,没有失败的测试,我到达 7.4.4,他说:

在我运行 git checkout master 之后,spork 开始抱怨 28 次失败。合并后,继续。运行 bundle exec rspec spec/ 我得到 28 个与 user_pages_spec.rb 测试有关的错误。

错误如下:

我的 user_pages_spec.rb 文件:

我的用户控制器:

我的模型/user_spec.rb

这是怎么回事?为什么会失败?我不明白。

0 投票
0 回答
185 浏览

ruby - 为什么 net-ssh-2.6.2 无法通过自己的单元测试?

我已经在我的 Mac(运行 OSX 10.8.2)和 PC(运行 Windows 7)上安装了 ruby​​(1.9.3)。我已经安装(使用“gem install ...”)net-ssh、test-unit、mocha 和 echoe。安装看起来很干净(Mac 抱怨文档中有一些 unicode 垃圾,但我不在乎)。

当我运行发行版中包含的单元测试时,我遇到了失败和错误。它们在 Mac 和 PC 上是不同的。据我所知,我有必要的东西——ssh 正在工作,我的 .ssh 目录存在并且有一个 id_dsa 对和一个 id_rsa 对。

很长一段时间以来,我一直在使用 SSH(shell、sftp、scp 等)与我的 mac 进行连接,所以我认为我的 SSH 堆栈正在工作。

这是一个愚蠢的配置问题,还是 net-ssh/Ruby 中有问题?

在 Mac 上,我通过运行 net-ssh 测试套件得到以下结果:

0 投票
0 回答
1255 浏览

failing-tests - GTEST 链接错误——链接:致命错误 LNK1104:无法打开文件 'gtest_maind.lib;gtestd.lib;

嗨,我在尝试设置 GTEST 时遇到以下错误

GTEST 链接错误——链接:致命错误 LNK1104:无法打开文件 'gtest_maind.lib;gtestd.lib;

尝试清洁,重建 gtest sln 以及

  • 使用VS2005。

遵循以下链接中提供的所有说明..但仍然存在错误

0 投票
1 回答
1377 浏览

amazon-web-services - AWS ELB 使用 80 以外的 http 端口的运行状况检查失败

我们使用 AWS 已经有一段时间了,也设置了许多 ELB。我们遇到的问题是我们有多个站点在多个服务器上运行。所有 IIS 7.5 站点都位于 3 个 Web 服务器上。我们使用端口 80 和 443 与所有绑定的站点正确设置与域/子域。每个站点都有一个 ELB。

我们遇到的问题是每个 ELB 当前都设置了 HTTP:80/ 的运行状况检查,因此每个 ELB 并没有真正检查其各自站点的运行状况。

我们想做的是设置每个站点侦听不同的额外端口(即 8082、8083 等)并让每个 ELB 的健康检查检查站点的额外端口(即 HTTP:8082/、HTTP:8083/ , ETC。)。这些端口在防火墙和安全组中正确打开,我们可以在每个站点各自的额外端口(即http://web1.mysite.com:8082/)上访问。

AWS 的文档说你应该能够做我们正在尝试做的事情,但是实例的健康检查没有通过。我什至已经为各自的端口定义了一个监听器。只是为了确认一下,我可以将检查设置为 HTTP:80/ 并且实例来自“InService”,但是当我将其更改为 HTTP:8082/ 时,它立即停止服务。这让我发疯,所以任何帮助将不胜感激。

0 投票
1 回答
69 浏览

php - php表单失败

我在这里阅读了很多帖子,其中一些有我同样的问题,我只是没有碰巧发现我的问题。我对php很陌生。

我正在尝试将表格发送到包含详细信息的电子邮件地址,但到目前为止,电子邮件没有被发送。

这是我的代码,

我已经更改了所有发送它的方向,但是,我仍然缺少一些东西,只是不知道是什么。

0 投票
2 回答
41 浏览

java - 简单的 JUnit 测试不断失败,我不知道为什么

[Java] 我们被分配编写几种方法来帮助向 TodoList 添加功能,其中一种方法是通过 TodoList 并返回仍然不完整的方法。这是我写的(省略了其他方法):

我已经在我认为出错的地方加上了星号,尽管我并不肯定。我知道该方法需要返回一个列表,只是不确定我是否正确。

非常感谢对我的情况的任何帮助!

0 投票
3 回答
56 浏览

python - 不确定为什么我的测试一直失败

我迫切需要帮助,我现在已经编写了一点代码,但已经被问题困住了一段时间。

我的函数必须检查给定的单词是否包含特殊字符,以及没有特殊字符的单词的长度是否大于 3。

特殊字符为:()1234567890!?_@#$%^&*.,'

如果单词中没有特殊字符并且没​​有特殊字符的单词的长度大于 3,则函数必须返回 True。

然而,这里的一个例外是允许特殊字符出现在单词的末尾。

我的想法是将初始单词和特殊字符变成一个列表,然后检查最后一个字符是否为“特殊”。(如果我从末尾删除所有特殊字符,我就不必再担心它们了,因为无论如何它们都是允许的。)然后再次检查该单词是否包含特殊字符,如果确实 > 返回 False。如果它不包含特殊字符并且 len(list) > 3 则返回 True 否则:返回 False (由于 len(list) 为 <= 3。)

查看我的代码,我只是不明白为什么我的测试失败了。

不断失败的测试是:

其他一切似乎都井井有条:

这些测试失败有什么原因吗?我错过了什么?

//Edit2 所以正如用户亲切地指出的那样,我继续在我的代码上使用了调试器,问题似乎是当我进入我最初的“for”循环时,它只检查我列表中的第一个字符是否是特殊字符,如果整个列表中有特殊字符,则没有人可以引导我找到正确的方法,让循环遍历整个列表以查找特价商品?