我准备好了 powermta SMTP。每当我尝试发送 HTML 电子邮件时,Razor2 都会给我 50% 以上的信心。
我尝试了不同的内容,我的 IP 和域都没有列入黑名单。但是 Razor2 总是给我不好的分数,但是如果我发送带有纯文本且没有 html 的电子邮件,则 Razor2 检查通过。我已经正确设置了所有标题,我正在使用 mail-tester.com 查看电子邮件分数。
我的问题是如何改进我的电子邮件以通过 Razor2。我的电子邮件分数和标题在此链接上http://www.mail-tester.com/web-M5O2Ps
我正在玩Java实用程序功能.我有以下代码:
public class Checker<T>{
private T value;
private Function<T, T> callback;
private Checker(T value) {
this.value = value;
}
public static Checker when(String o) {
return new Checker<String>(o);
}
public static Checker when(int o) {
return new Checker<Integer>(o);
}
public Checker then(Function<T, T> callback) {
this.callback = callback;
return this;
}
public void execute() {
if (this.value instanceof String) {
this.callback.apply("123");
}
if (this.value instanceof Integer) {
this.callback.apply(123);
}
}
Checker.when("123").then(str -> {
return "";
}).execute();
Checker.when(123).then(str -> {
return …Run Code Online (Sandbox Code Playgroud) 我正在为我的应用程序编写一些单元测试用例。我想模拟MongoClient update方法,但是更新返回Single<Void>。
when(mongoClient.rxUpdate(anyString(), any(JsonObject.class), any(JsonObject.class)))
.thenReturn(Single.just(Void))
Run Code Online (Sandbox Code Playgroud)
现在Single.just(Void)不起作用,正确的方法是什么?
-更新-
所以我正在编写updateUserProfile方法的单元测试,为此我已经嘲笑了service。但是service.updateAccount方法返回是我无法模拟的。
//Controller class
public void updateUserProfile(RoutingContext routingContext){
// some code
service.updateAccount(query, update)
.subscribe(r -> routingContext.response().end());
}
//Service Class
public Single<Void> updateAccount(JsonObject query, JsonObject update){
return mongoClient.rxUpdate("accounts", query, update);
}
Run Code Online (Sandbox Code Playgroud)
因为的返回类型mongoClient.rxUpdate是Single<Void>,所以我无法模拟该部分。
现在,我已经解决的解决方法是:
public Single<Boolean> updateAccount(JsonObject query, JsonObject update){
return mongoClient.rxUpdate("accounts", query, update).map(_void -> true);
}
Run Code Online (Sandbox Code Playgroud)
但这只是做事的拙劣方式,我想知道如何才能准确地创建 Single<Void>
我有一种情况需要测试一个函数,但是类已经注入了String值,如下所示:
public class SomeClass{
@Inject
@Named("api")
private String api;
public Observable<String> get(String uuidData){
//do something with "api" variable
}
}
Run Code Online (Sandbox Code Playgroud)
现在我如何从我的JUnit测试用例中注入这个?我也在使用Mockito,但它不允许我模仿原始类型.
我有一个redux容器,我想在我的测试用例中安装.它有一个使用react-router链接的组件.在阅读本https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/guides/testing.md后,安装容器给我带来了历史未定义的错误我现在实现了MemoryRouter历史错误消失了,但我收到以下错误:
TypeError: Cannot read property 'pathname' of undefined
at Object.createPath (node_modules/history/PathUtils.js:47:26)
at Link.render (node_modules/react-router-dom/Link.js:76:44)
Run Code Online (Sandbox Code Playgroud)
我的测试用例:
it('should load popup component', () => {
const container = mount(
<Provider store={ store }>
<MemoryRouter initialIndex='2' initialEntries={ ['/', 'home'] } >
<HomeContainer />
</MemoryRouter>
</Provider>
);
assert.equal(container.find('PopUp').length, 1, 'Popup component is not mounted');
});
Run Code Online (Sandbox Code Playgroud)
我的组件:
class Home extends Component {
componentWillMount() {
this.props.init();
}
componentDidMount() {
document.title = 'Home';
}
render() {
return (
<div>
<Popup />
</div>
);
}
}
export …Run Code Online (Sandbox Code Playgroud) 我正在玩java lambdas,这是我目前的代码:
public class TypeChecker<T> {
private T value;
private Class clazz;
private UnaryOperator<T> callback;
private TypeChecker(T value) {
this.value = value;
}
public static TypeChecker<String> when(String v) {
return new TypeChecker<>(v);
}
public static TypeChecker<Integer> when(int v) {
return new TypeChecker<>(v);
}
public TypeChecker<T> is(Class clazz) {
this.clazz = clazz;
return this;
}
public TypeChecker<T> then(UnaryOperator<T> callback) {
this.callback = callback;
return this;
}
public void execute() {
if (clazz.isInstance(value)) {
callback.apply(value);
}
}
}
TypeChecker.when("123").is(String.class).then(s -> {
return …Run Code Online (Sandbox Code Playgroud) 我正在使用JUL进行日志记录,我有一个属性文件.我想在日志文件中以毫秒为单位记录日期时间.
这是我的财产:
java.util.logging.SimpleFormatter.format=%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s%n%4$s: %5$s%n
Run Code Online (Sandbox Code Playgroud)
以上记录如下:
Dec 05, 2016 5:08:06 PM ...
Run Code Online (Sandbox Code Playgroud)
我怎么能显示毫秒?
在 RX JAVA(java8) 中,如何保留 previousflatMap或map.
public void createAccount(]) {
JsonObject payload = routingContext.getBodyAsJson();
socialService.getOAuthToken(payload)
.flatMap(token -> {
return getAllAccounts(token);
})
.flatMap(accounts -> {
// Save accounts with TOKENS
})
.subscribe(accountID -> {
response(accountID);
);
}
Run Code Online (Sandbox Code Playgroud)
所以在上面的代码中,第二步flatMap我怎样才能token从之前的flatMap.
我在ubuntu服务器上运行vert.x应用程序.它有一个在端口3000上运行的HTTPServer.应用程序工作正常但有时我看到以下警告:
Dec 08, 2017 1:23:43 AM io.vertx.core.impl.BlockedThreadChecker
WARNING: Thread Thread[vert.x-worker-thread-2,5,main] has been blocked for 138013 ms, time limit is 60000
io.vertx.core.VertxException: Thread blocked
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:255)
at sun.security.provider.NativePRNG$RandomIO.readFully(NativePRNG.java:424)
at sun.security.provider.NativePRNG$RandomIO.implGenerateSeed(NativePRNG.java:441)
at sun.security.provider.NativePRNG$RandomIO.access$500(NativePRNG.java:331)
at sun.security.provider.NativePRNG.engineGenerateSeed(NativePRNG.java:226)
at java.security.SecureRandom.generateSeed(SecureRandom.java:533)
at io.vertx.ext.auth.PRNG.lambda$null$0(PRNG.java:78)
at io.vertx.ext.auth.PRNG$$Lambda$204/767088095.handle(Unknown Source)
at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$1(ContextImpl.java:271)
at io.vertx.core.impl.ContextImpl$$Lambda$206/1202956360.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Dec 08, 2017 1:23:44 AM io.vertx.core.impl.BlockedThreadChecker
WARNING: Thread Thread[vert.x-worker-thread-2,5,main] has been blocked for 139014 ms, time limit is 60000
io.vertx.core.VertxException: Thread blocked
at java.io.FileInputStream.readBytes(Native Method)
at …Run Code Online (Sandbox Code Playgroud) java ×4
java-8 ×3
junit ×2
lambda ×2
rx-java ×2
vert.x ×2
date ×1
enzyme ×1
function ×1
guice ×1
javascript ×1
logging ×1
powermta ×1
react-redux ×1
react-router ×1
reactjs ×1
smtp ×1
spamassassin ×1
unit-testing ×1