标签: verify

如何使用mockito verify()调用方法被调用两次

我想通过mockito验证验证方法是否被调用两次或多次.我使用验证,它抱怨像这样:

org.mockito.exceptions.verification.TooManyActualInvocations: 
Wanted 1 time:
But was 2 times. Undesired invocation:
Run Code Online (Sandbox Code Playgroud)

junit verify mockito

275
推荐指数
2
解决办法
28万
查看次数

Java验证void方法使用Mockito调用n次

我正在尝试验证在DAO中调用(void)方法 - 我正在使用一个提交点,该提交点将结果列表发送到该点,重置列表并继续.假设我在列表中有4个东西,并且我的提交点为1,我希望"send"方法被调用4次.我可以通过编写来验证该方法是否被调用一次

Mockito.verify(mock).send()

它通过..但我想验证它被调用的次数.我想是的

Mockito.verify(mock.send(), times(4))

就足够了,但它说参数不正确验证.

顺便说一句,如果我 Mockito.verify(mock).send()改为 Mockito.verify(mock.send())或者 Mockito.verify((mock).send())我得到同样的错误.对此的想法?

java junit unit-testing verify mockito

125
推荐指数
1
解决办法
16万
查看次数

如何用.sig文件验证下载的文件?

当我下载GCC时,它也有一个.sig文件,我认为它是为了验证下载的文件而提供的.(我从这里下载了GCC ).

但我无法弄清楚我应该如何使用它.我试过gpg,但它抱怨公钥.

[root@localhost src]# gpg --verify gcc-4.7.2.tar.gz.sig gcc-4.7.2.tar.gz
gpg: Signature made Thu 20 Sep 2012 07:30:44 PM KST using DSA key ID C3C45C06
gpg: Can't check signature: No public key
[root@localhost src]# 
Run Code Online (Sandbox Code Playgroud)

如何使用.sig文件验证下载的文件?

shell command-line command verify signature

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

Moq - 是否可以在设置中指定验证标准(例如,被称为时间)?

如果需要设置返回值,以及验证调用表达式的次数,可以在一个语句中执行此操作吗?

从我可以收集到的,Moq的Setup(SomeExpression).Verifiable()调用Verify(),基本上是一个Verify(SomeExpression, Times.AtLeastOnce)?即它验证表达式只被调用.

这是一个更好地解释问题的例子.对于接口:

interface IFoo
{
    int ReturnSomething();
}
Run Code Online (Sandbox Code Playgroud)

以下两个块是否等效(除了第一个将验证标记为可验证的所有设置)?

void Test()
{
    var mock = new Mock<IFoo>();
    mock.Setup((m) => m.ReturnSomething()).Returns(1).Verifiable();

    mock.Verify();
}
Run Code Online (Sandbox Code Playgroud)

void Test()
{
    var mock = new Mock<IFoo>();
    mock.Setup((m) => m.ReturnSomething()).Returns(1);

    mock.Verify((m) => m.ReturnSomething(), Times.AtLeastOnce());
}
Run Code Online (Sandbox Code Playgroud)

如果我想验证调用次数(比如两次),这是唯一的方法,其中表达式重复进行安装和验证吗?

void Test()
{
    var mock = new Mock<IFoo>();
    mock.Setup((m) => m.ReturnSomething()).Returns(1);

    mock.Verify((m) => m.ReturnSomething(), Times.Exactly(2));
}
Run Code Online (Sandbox Code Playgroud)

我只是不喜欢打电话给安装和验证.好吧,因为这对AAA来说是一个好主意,换句话说,我不喜欢重复设置和验证的表达式.目前我将表达式存储在变量中并将其传递给每个方法,但感觉不是那么干净.

PS - 上下文用于检查何时更新缓存(explirations等)的测试

testing installation moq mocking verify

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

用Java验证电子邮件

有没有办法在Java代码中验证电子邮件地址是否有效.通过有效,我不仅仅意味着它的格式正确(someone@domain.subdomain),但这是一个真正的活动电子邮件地址.

我几乎可以肯定,没有100%可靠的方法可以做到这一点,因为这种技术将成为垃圾邮件发送者的梦想.但也许有一些技术可以提供一些关于地址是否"真实"的有用指示.

java email verify

33
推荐指数
2
解决办法
5万
查看次数

Javascript图像网址验证

我需要验证图片网址以检查网址是否是这些扩展程序的图片: - jpeg,jpg,gif,png.示例: - 当我们验证此URL http://www.example.com/asdf.jpg时,它应该给我们真正的价值,并且像这样的url http://www.example.com/asdf.php应该返回false.我们如何在javascript中执行此操作,并且还要检查URL的内容类型.这样我们就可以说网址是否是图像.

javascript url image function verify

31
推荐指数
4
解决办法
5万
查看次数

openssl verify - 错误20在0深度查找:无法获得本地颁发者证书

我从PFX证书创建了PEM证书并想要验证它.但是我遇到了这个问题,尝试找到一些答案,但我没有,因此我不知道如何解决它.你能建议吗?非常感谢你.

C:\OpenSSL-Win32\bin>set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg

C:\OpenSSL-Win32\bin>openssl
OpenSSL> verify C:\mycert.pem
C:\mycert.pem: C = CZ, ST = Sprava zakladnich registru, L = "Obec=Praha,Ulice=Na Vapence,PSC=13000", O = 72054506, OU = 4333, CN = tstcawilly.szr.local
error 20 at 0 depth lookup:unable to get local issuer certificate
error in verify
OpenSSL>
OpenSSL> verify -CAfile C:\mycert.pem C:\mycert.pem
C:\mycert.pem: C = CZ, ST = Sprava zakladnich registru, L = "Obec=Praha,Ulice=Na Vapence,PSC=13000", O = 72054506, OU = 4333, CN = tstcawilly.szr.local
error 20 at 0 depth lookup:unable to get local …
Run Code Online (Sandbox Code Playgroud)

openssl certificate verify

31
推荐指数
2
解决办法
6万
查看次数

验证方法被调用

使用Moq,我有一个非常奇怪的问题,如果我设置的方法是公共的,模拟上的设置似乎只能工作.我不知道这是一个Moq bug还是我错了(Moq的新手).以下是测试用例:

public class TestClass
{
    public string Say()
    {
        return Hello();
    }

    internal virtual string Hello()
    {
        return "";
    }
}

[TestMethod]
public void Say_WhenPublic_CallsHello()
{
    Mock<TestClass> mock = new Mock<TestClass>();
    mock.Setup(x => x.Hello()).Returns("Hello World");

    string result = mock.Object.Say();
    mock.Verify(x => x.Hello(), Times.Exactly(1));
    Assert.AreEqual("Hello World", result);     
}
Run Code Online (Sandbox Code Playgroud)

该消息失败了:

Say_WhenPublic_CallsHello失败:Moq.MockException:调用没有在仿1次进行的:X => x.Hello()在Moq.Mock.ThrowVerifyException(IProxyCall预期,表达表达,倍)...

如果我像这样公开Hello方法,则测试通过.这是什么问题?

public virtual string Hello()
{
    return "";
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

.net c# moq mocking verify

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

有没有办法在Mockito的验证方法中使用类似jUnit Assert的消息参数?

让我们假设一段测试代码:

Observable model = Class.forName(fullyQualifiedMethodName).newInstance();
Observer view = Mockito.mock(Observer.class);
model.addObserver(view);
for (Method method : Class.forName(fullyQualifiedMethodName).getDeclaredMethods())
{
  method.invoke(model, composeParams(method));
  model.notifyObservers();
  Mockito.verify(
    view, Mockito.atLeastOnce()
  ).update(Mockito.<Observable>any(), Mockito.<Object>any());
}
Run Code Online (Sandbox Code Playgroud)

Mockito.verify如果模型中的Observable.setChanged()方法没有调用方法,则抛出异常.

问题:没有添加loggers/System.print.out我无法意识到当前测试失败的方法是什么.有没有办法与jUnit Assert方法类似:

Assert.assertEquals(
  String.format("instances %s, %s should be equal", inst1, inst2),
  inst1.getParam(), 
  inst2.getParam()
);
Run Code Online (Sandbox Code Playgroud)

解:

verify(observer, new VerificationMode()
{
  @Override
  public void verify(VerificationData data)
  {
    assertTrue(
        format(
            "method %s doesn't call Observable#setChanged() after changing the state of the model",
            method.toString()
        ),
        data.getAllInvocations().size() > 0);
  }
}).update(Mockito.<Observable>any(), Mockito.<Object>any());
Run Code Online (Sandbox Code Playgroud)

java junit assert verify mockito

21
推荐指数
3
解决办法
9135
查看次数

Openssl:错误"证书链中的自签名证书"

当我使用openssl API验证服务器证书(自签名)时,我收到以下错误:

错误19在1深度查找:证书链中的自签名证书

根据openssl 文档,这个错误(19)是

"X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:证书链中的自签名证书 - 可以使用不受信任的证书构建证书链,但无法在本地找到根证书."

为什么会出现此错误?我的服务器证书有问题吗?

c linux openssl verify ssl-certificate

20
推荐指数
4
解决办法
10万
查看次数