标签: assertion

Java Hamcrest Matcher 检查列表是否包含另一个列表

我想比较一个列表是否是另一个列表的子列表

假设我有以下列表

List<String> checkList = Arrays.asList("a", "d");

List<String> actualList = Arrays.asList("a", "b", "c", "d");
Run Code Online (Sandbox Code Playgroud)

我想检查是否actualList包含checkList. 我可以迭代每个值并进行比较。但是有没有 hamcrest matcher 可以完成这项工作

对于前。

a,d应该通过

a, b,c应该通过

但是ae应该会失败

支持hasItems单独传递字符串,并contains检查所有值,in支持列表中存在一个项目。但我想要

assertThat(actualList,containsList(checkList))

是否有可用的内置匹配器或者我需要编写自定义匹配器?

java hamcrest assertion

3
推荐指数
1
解决办法
3311
查看次数

Python 确保函数参数始终是字符串

我正在尝试编写一个带有仅接受字符串的函数的程序。如何使 python 函数参数始终为字符串,如果不是则抛出错误?

我正在寻找类似的东西:

def foo(i: int): 
       return i  
foo(5) 
foo('oops')
Run Code Online (Sandbox Code Playgroud)

但这不会引发错误。

python string types casting assertion

3
推荐指数
1
解决办法
742
查看次数

Cypress / JavaScript:使用包含特定单词的 URL 值进行断言

我正在尝试改进以下断言:

cy.xpath('//div[@data-testid="column"]')
  .should('have.css', 'background-image', 
    'url("https://assets.website.com/folder/house.jpg")'
  );
Run Code Online (Sandbox Code Playgroud)

在测试中,我验证该 div 是否具有background-image具有该url值的 CSS 属性。

我想将此断言转换为验证 div 是否具有 cssbackground-image属性,其值包含“house.jpg”而不是整个 URL。

css cucumber assertion cypress cypress-xpath

3
推荐指数
1
解决办法
456
查看次数

如何替换断言?

如何用if代替断言?例:

public Wezel<Wartosc,Indeks> getWujek() 
    {
        assert rodzic != null; // Root node has no uncle
        assert rodzic.rodzic != null; // Children of root has no uncle
        return rodzic.getBrat();
    }
Run Code Online (Sandbox Code Playgroud)

java assertion

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

为什么我断言失败?

当我尝试使用VC2010调试它时,此代码失败:

char frd[32]="word-list.txt";

FILE *rd=fopen(frd,"r");
if(rd==NULL)
{
std::cout<<"Coudn't open file\t"<<frd;
exit(1);
}
char readLine[100]; 
while(fgets(readLine, 100, rd) != NULL)
{     
    readLine[strlen(readLine) - 1] = '\0'; 
    char *token = NULL; 
    token = strtok(readLine, " ,"); 
    insert(readLine);
} 
Run Code Online (Sandbox Code Playgroud)

调试结果

--------------------------- Microsoft Visual C++调试库-----------

调试断言失败!

程序:...\documents\visual studio 2010\Projects\bfa\Debug\bfa.exe文件:f:\ dd\vctools\crt_bld\self_x86\crt\src\fgets.c行:57

表达式:(str!= NULL)

有关程序如何导致断言失败的信息,请参阅有关断言的Visual C++文档.

(按"重试"调试应用程序)

---------------------------中止重试忽略

我得到的错误是2;

c fgets assertion

2
推荐指数
1
解决办法
3万
查看次数

断言C#+何时使用它们

我已经看过几篇关于在C#中使用Debug.Assert的帖子.但我仍然有一个疑问,可能是它的重复,但我需要问.

有一个严格的规则,Debug.Assert应该只用于检查类的成员或用于检查公共方法的参数?

或者我可以在任何地方使用Debug.Assert,并检查任何条件?

谢谢桑迪普

c# asp.net debugging assertion

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

如何在Scala中比较两个对象的相等性?

我在两个对象之间进行了非常基本的相等性检查,但失败了。

package foo
import org.junit.Assert._

object Sandbox extends App{
  class A

  val a = new A
  val b = new A
  assertEquals(a, b)

}
Run Code Online (Sandbox Code Playgroud)

我的用例比较复杂,但是我想弄清楚基础知识。运行代码时出现断言错误:

Caused by: java.lang.AssertionError: expected:<foo.Sandbox$A@3f86d38b> but was:<foo.Sandbox$A@206d63fd>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:743)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:144)
. . . . 
Run Code Online (Sandbox Code Playgroud)

如何比较两个对象是否相等?

scala equality object assertion

2
推荐指数
2
解决办法
5965
查看次数

Nunit中Classic和Constraint Model Assertions有什么区别?

我正在通过阅读文档来学习Nunit-2.6.3.我有点怀疑.

经典模型和约束模型断言之间有什么区别?

断言的哪种模式是最好的,为什么?

nunit unit-testing assert assertion

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

为什么流利的断言失败但断言传递给枚举?

我无法找到断言1失败但断言2通过的原因:

var a = Test.test1;
var b = Test.test1;
a.Should().BeSameAs(b); //1
Assert.Equal(a, b);     //2
Run Code Online (Sandbox Code Playgroud)

Test 是一个像下面的枚举:

enum Test { test1, test2 }
Run Code Online (Sandbox Code Playgroud)

c# assertion fluent-assertions

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

异步/等待功能中的Expect.assertions

从Jest文档中:

Expect.assertions(number)验证在测试期间是否调用了一定数量的断言。这在测试异步代码时通常很有用,以确保实际调用了回调中的断言。

这意味着,如果我们要测试拒绝案例promises(中的断言catch),则expect.assertions promise可能无法解决,我们的测试将通过。但是,我们在测试函数中根本没有错误,并且断言实际上从未运行。换句话说,我们没有检查我们想要的东西。我们得到了答案,但是没有回答我们的问题,因为实现promise就不会失败。综上所述,必须在检查拒绝/错误时定义断言的数量。

在文档中还有另一个示例:

test('the data is peanut butter', async () => {
  expect.assertions(1);
  const data = await fetchData();
  expect(data).toBe('peanut butter');
});
Run Code Online (Sandbox Code Playgroud)

在使用async/await模式时,我们将等待promise解决,并且测试条件一定会运行。

这里的目的是expect.assertions什么?我们是否真的需要expect.assertions此代码,或者只是编写它的最佳实践?

asynchronous assertion async-await jestjs

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