public void div( int i )
{
acc = acc / i;
}
Run Code Online (Sandbox Code Playgroud)
我想对这种方法进行测试。我确实测试了不同于 0 的整数。但是我在测试时遇到了问题i=0。你能告诉我它应该怎么看吗?
我们如何编写一个测试来检查一个值是否为数字,并在该值不是数字时抛出异常?在这种情况下我们需要正则表达式吗?
谢谢。
TDD。我有相当复杂的编码练习,如果私有方法非常复杂,我是否要测试它们?
所以我的类只公开了一个公共方法,但包含很少的非常复杂的方法,我认为应该测试哪些方法?
有疑问:我是否测试它们?
在 Selenium 中,您可以使用部分 id 选择一个元素 '[id$=foobar]'
但是使用量角器你可以做到 element(by.id(foobar))
有没有办法使用量角器获得类似的功能。我无法在他们的文档中找到您是否可以执行类似element(by.id$(foobar)).
我想在Go代码中达到100%的测试覆盖率。我无法涵盖以下示例-有人可以帮助我吗?
package example
import (
"io/ioutil"
"log"
)
func checkIfReadable(filename string) (string, error) {
_, err := ioutil.ReadFile(filename)
if err != nil {
log.Fatalf("Cannot read the file... how to add coverage test for this line ?!?")
}
return "", nil
}
func main() {
checkIfReadable("dummy.txt")
}
Run Code Online (Sandbox Code Playgroud)
一些傻瓜测试:
package example
import (
"fmt"
"testing"
)
func TestCheckIfReadable(t *testing.T) {
someResult, err := checkIfReadable("dummy.txt")
if len(someResult) > 0 {
fmt.Println("this will not print")
t.Fail()
}
if err != nil {
fmt.Println("this will …Run Code Online (Sandbox Code Playgroud) 目前,我有一个程序从文件中读取和提取多个数据,我想确保这些值正确匹配预期的值,我知道这应该如何在其他编程语言如python中工作使用列表和元组等,但我不确定在C++中使用单元测试的最佳方法,同时尽可能保持代码的最小化和高效.我目前有多个阵列,我希望验证它们是否符合预期值,因此我可以使用不同的输入文件测试程序.
为了描述这一点,实质上,我希望验证例如的内容
int arrayone [5] = { 11, 12, 13, 14, 15 };
Run Code Online (Sandbox Code Playgroud)
等于{11,12,13,14,15}
如果值相等则成功完成单元测试,如果它们不相同或不相同则失败.因此,我正在寻找最好的方法来解决这个问题.
我是 Rust 新手,目前正在尝试为现有脚本的重构版本创建测试用例。我注意到,出于某种原因,每当我运行时cargo test,我首先收到消息“运行 0 个测试”,然后“运行 x 个测试”(其中 x 是我编写的测试数)。
如何找到“运行 0 次测试”的来源?
我有一个组件每 20 秒调用 api(setInterval)
我想测试 api 如果返回不同的结果,我的组件会显示什么。
cy.clock我尝试使用和加速 setInterval cy.tick,但它仅在第一次测试中有效。
这是我的代码:
// test.cy.ts
before(()=>{
cy.clock(0,['setInterval'])
cy.visit('my component url')
})
describe('test clock',()=>{
it('test1',()=>{
cy.tick(20000) // work
// call API successfully
})
it('test2',()=>{
cy.tick(20000) // error, you need to call cy.clock before calling cy.tick
})
})
Run Code Online (Sandbox Code Playgroud)
我尝试在调用之前在“test2”中添加 cy.clock cy.tick(20000),没有错误,但仍然无法正常工作。(我不知道为什么,但 API 没有被调用)
我在这里尝试答案: cy.clock and cy.tick not work with split code
但出现错误:无法读取 null 的属性(读取“详细信息”)
我想知道这是因为 Cypress 会restore在测试之间自动调用。
时钟需要在 setInterval 之前调用,这可能是我添加新时钟但不起作用的原因。
有没有什么方法可以使用相同的时钟功能而无需再次访问该页面?
编辑:
我已经尝试了下面的两个答案但仍然不起作用
时钟停在 1000 并且不会更改为 2000
我正在使用 …
在我的应用程序中,我需要在 cypress 中检查以下流程:
我尝试测试的第一件事很简单:
it('should display spinner during page load', () => {
cy.visit(myPageUrl);
cy.get(selectors.spinner).should('exist');
cy.get(selectors.spinner, { timeout: 5000 }).should('not.exist');
});
Run Code Online (Sandbox Code Playgroud)
然而,这会产生竞争条件。在 cypress 断言旋转器存在之前,页面可能会加载并且旋转器将消失。这是一个直观的解释:
这是我的预期: 预期结果
以下是实际可能发生的情况,这将导致测试失败: 可能的结果
因此,经过一番研究后,我尝试了以下方法来解决竞争条件:
it('should display spinner during page load', () => {
let sendResponse;
const trigger = new Promise((resolve) => {
sendResponse = resolve;
});
cy.intercept('GET', '/myRequiredPageData', (req) => {
return trigger.then(() => {
req.reply();
});
});
cy.visit(myPageUrl);
cy.get(selectors.spinner).should('exist').then(() => {
sendResponse();
cy.get(selectors.spinner, { timeout: 5000 }).should('not.exist');
});
});
Run Code Online (Sandbox Code Playgroud)
但是,现在我有时会收到此错误:
A …
testing ×10
cypress ×2
unit-testing ×2
arrays ×1
c++ ×1
end-to-end ×1
go ×1
java ×1
jmeter ×1
junit ×1
methods ×1
node.js ×1
performance ×1
protractor ×1
python ×1
qa ×1
regex ×1
rust ×1
rust-cargo ×1
selenium ×1
tdd ×1