更改mockito-core版本时遇到奇怪的错误。我的代码:
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
import static org.mockito.Mockito.validateMockitoUsage;
import static org.powermock.api.mockito.PowerMockito.doNothing;
import static org.powermock.api.mockito.PowerMockito.doReturn;
import static org.powermock.api.mockito.PowerMockito.mock;
import static org.powermock.api.mockito.PowerMockito.mockStatic;
import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
import static org.powermock.api.mockito.PowerMockito.when;
import static org.powermock.api.support.membermodification.MemberMatcher.method;
@RunWith(PowerMockRunner.class)
@PrepareForTest(value = App.class)
public class TestClass {
@Before
public void setup() {
mockStatic(App.class);
when(App.getInstance()).thenReturn(mock(App.class));
}
// tests
}
Run Code Online (Sandbox Code Playgroud)
App.getInstance()当我使用时,模拟工作正常
testImplementation group:'org.mockito',name:'mockito-core',version:'2.23.0'
Run Code Online (Sandbox Code Playgroud)
但是将其更改为最新版本
testImplementation group: 'org.mockito', name: 'mockito-core', version: '2.28.2'
Run Code Online (Sandbox Code Playgroud)
给我错误
org.mockito.exceptions.misusing.NotAMockException: Argument should be a …Run Code Online (Sandbox Code Playgroud) 我是 python 和神经网络的新手。我有一个用 Keras 编写的简单网络,可以预测线性序列中的下一个数字:
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
data = [[i for i in range(6)]];
data = np.array(data, dtype=int);
target = [[i for i in range(10, 16)]];
target = np.array(target, dtype=int);
model = Sequential();
model.add(Dense(1, input_dim=1))
model.add(Dense(1));
model.compile(loss='mean_absolute_error', optimizer = 'adam', metrics = ['accuracy']);
model.summary();
for i in range (10000):
dataIterator = 0;
for targetValue in target:
model.train_on_batch(data[dataIterator], targetValue)
dataIterator = dataIterator + 1;
predict = model.predict([28]); …Run Code Online (Sandbox Code Playgroud) 所以我一直想知道在一群人中至少有一个人今天过生日的概率是多少。
我想出了一个这样的解决方案:
private BigDecimal probability(BigDecimal peopleCount) {
BigDecimal days = new BigDecimal("365");
BigDecimal omega = days.pow(peopleCount.intValue());
BigDecimal excluded = days.subtract(BigDecimal.ONE).pow(peopleCount.intValue());
return omega.subtract(excluded).divide(omega, 10, RoundingMode.HALF_UP);
}
Run Code Online (Sandbox Code Playgroud)
这似乎计算正确,但看起来也是一个糟糕的解决方案 - 对于 1000 人,我需要计算 365^1000(一些疯狂的数字)。
有没有人知道更好(更清洁)的方法来做到这一点?
谢谢。
java ×2
keras ×1
math ×1
mockito ×1
numpy ×1
powermock ×1
probability ×1
python ×1
static ×1
tensorflow ×1