标签: testing

JUnit 测试 - 除以零。爪哇

public void div( int i )
{
    acc = acc / i;
}
Run Code Online (Sandbox Code Playgroud)

我想对这种方法进行测试。我确实测试了不同于 0 的整数。但是我在测试时遇到了问题i=0。你能告诉我它应该怎么看吗?

java testing methods junit

-1
推荐指数
1
解决办法
7215
查看次数

测试一个值是否是数字

我们如何编写一个测试来检查一个值是否为数字,并在该值不是数字时抛出异常?在这种情况下我们需要正则表达式吗?

谢谢。

python regex testing

-1
推荐指数
2
解决办法
1386
查看次数

TDD。我有相当复杂的编码练习,如果私有方法非常复杂,我是否要测试它们?

TDD。我有相当复杂的编码练习,如果私有方法非常复杂,我是否要测试它们?

所以我的类只公开了一个公共方法,但包含很少的非常复杂的方法,我认为应该测试哪些方法?

有疑问:我是否测试它们?

testing tdd unit-testing

-1
推荐指数
1
解决办法
142
查看次数

用户和电子邮件中的Jmeter变量随机变化

我需要做一些性能测试并模拟100个不同的用户,但是如何为用户和电子邮件创建随机变量?

在此输入图像描述

testing performance automated-tests qa jmeter

-1
推荐指数
1
解决办法
309
查看次数

使用量角器按部分 id 选择元素

在 Selenium 中,您可以使用部分 id 选择一个元素 '[id$=foobar]'

但是使用量角器你可以做到 element(by.id(foobar))

有没有办法使用量角器获得类似的功能。我无法在他们的文档中找到您是否可以执行类似element(by.id$(foobar)).

testing selenium node.js protractor

-1
推荐指数
1
解决办法
3900
查看次数

测试log.Fatalf进入吗?

我想在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)

testing go

-1
推荐指数
1
解决办法
1270
查看次数

如何最好地将C++中的两个数组与单元测试进行比较以验证它们是否匹配?

目前,我有一个程序从文件中读取和提取多个数据,我想确保这些值正确匹配预期的值,我知道这应该如何在其他编程语言如python中工作使用列表和元组等,但我不确定在C++中使用单元测试的最佳方法,同时尽可能保持代码的最小化和高效.我目前有多个阵列,我希望验证它们是否符合预期值,因此我可以使用不同的输入文件测试程序.

为了描述这一点,实质上,我希望验证例如的内容

int arrayone [5] = { 11, 12, 13, 14, 15 };
Run Code Online (Sandbox Code Playgroud)

等于{11,12,13,14,15}

如果值相等则成功完成单元测试,如果它们不相同或不相同则失败.因此,我正在寻找最好的方法来解决这个问题.

c++ arrays testing

-1
推荐指数
2
解决办法
464
查看次数

为什么“cargo test”在运行我的测试之前说“运行 0 个测试”?

我是 Rust 新手,目前正在尝试为现有脚本的重构版本创建测试用例。我注意到,出于某种原因,每当我运行时cargo test,我首先收到消息“运行 0 个测试”,然后“运行 x 个测试”(其中 x 是我编写的测试数)。

如何找到“运行 0 次测试”的来源?

testing unit-testing rust rust-cargo

-1
推荐指数
1
解决办法
2188
查看次数

Cypress 在每次测试之间使用时钟,无需再次访问

我有一个组件每 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

我正在使用 …

testing cypress

-1
推荐指数
1
解决办法
465
查看次数

在 cypress 中等待加载旋转器的最佳实践是什么?

在我的应用程序中,我需要在 cypress 中检查以下流程:

  1. 用户转到页面
  2. 正在发送呈现页面所需的请求。
  3. 在发送请求和收到响应之间的时间内,用户应该看到一个加载微调器。收到响应后,应移除加载旋转器。

我尝试测试的第一件事很简单:

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 end-to-end cypress cypress-intercept

-1
推荐指数
1
解决办法
507
查看次数