如果我使用import/exportES6,那么我的所有测试都会失败并显示错误:
意外的保留字
我将我的测试对象转换为使用旧学校IIFY语法,突然我的测试通过了.或者,采用更简单的测试用例:
var Validation = require('../src/components/validation/validation');//PASS
//import * as Validation from '../src/components/validation/validation'//FAIL
Run Code Online (Sandbox Code Playgroud)
同样的错误.显然这里导入/导出存在问题.使用ES5语法重写我的代码只是为了让我的测试框架感到满意是不切实际的.
我有巴贝尔开玩笑.我尝试了github问题的各种建议.不行,到目前为止.
"scripts": {
"start": "webpack-dev-server",
"test": "jest"
},
"jest": {
"testPathDirs": [
"__tests__"
],
"testPathIgnorePatterns": [
"/node_modules/"
],
"testFileExtensions": ["es6", "js"],
"moduleFileExtensions": ["js", "json", "es6"]
},
Run Code Online (Sandbox Code Playgroud)
{
"presets": ["es2015", "react"],
"plugins": ["transform-decorators-legacy"]
}
Run Code Online (Sandbox Code Playgroud)
有没有解决这个问题?
我正在使用HiknateCp,Hibernate和我在java中的playframework应用程序.在几分钟的空闲状态之后,似乎播放应用程序死了,当它获得新请求时它再次启动.有时我也看到Db持久性错误,其中sessionfactory不可用,我认为这是此问题的副作用.为什么应用程序在空闲状态下死机,我可以将它配置为不这样做吗?
在几分钟的空闲时间内,每次新请求后,我都会得到以下日志 -
[info] application - Application shutdown...
[info] application - Stopping HikariCP connection pool...
[info] application - Starting HikariCP connection pool...
Run Code Online (Sandbox Code Playgroud)
Persistence.xml: -
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="defaultPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="true"/>
<property name="hibernate.logSql" value="true"/>
<property name="hibernate.connection.provider_class" value="com.zaxxer.hikari.hibernate.HikariConnectionProvider"/>
<property name="hibernate.hikari.dataSourceClassName" value="com.impossibl.postgres.jdbc.PGDataSource"/>
</properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
Application.conf: -
# JPA configuration
# ~~~~~
# You can declare as many Ebean servers as you want.
# By convention, …Run Code Online (Sandbox Code Playgroud) 我正在使用jest和Babel 6并尝试运行包含.jsx文件的测试.由于某种原因,该文件未被选为.jsx并且似乎被视为纯js,导致具有React组件的行上的错误.
这是测试:
var searchPath = '../../../../../app/assets/javascripts/components/navigation/search_icon.js.jsx';
jest.dontMock(searchPath);
import React from 'react';
import ReactDOM from 'react-dom';
import TestUtils from 'react-addons-test-utils'
const SearchIcon = require(searchPath);
describe('components', () => {
describe('SearchIcon', () => {
it('Should dispatch an action to toggle the search bar when clicked', () => {
var icon = TestUtils.renderIntoDocument(
<SearchIcon labelOn="On" labelOff="Off"/>
);
// Smoke test - I can't even get this far :(
expect(true).to.eq(true)
})
})
});
Run Code Online (Sandbox Code Playgroud)
我的package.json在这里:
{
"name": "fd-v5-web",
"version": "1.0.0",
"description": "Farmdrop mobile site",
"dependencies": …Run Code Online (Sandbox Code Playgroud) 我目前正在以下列方式使用Play.current.
import play.api.{Logger, Play}
object ApplicationConfig {
val app = Play.current
def getConfInt(key: String): Option[Int] = {
val result = app.configuration.getInt(key)
result
}
}
Run Code Online (Sandbox Code Playgroud)
自从迁移到2.5后,我有一个警告说它已被弃用
"这是对应用程序的静态引用,而是使用DI"
但是,文档并没有说明我应该如何使用DI代替.
谢谢
播放2.5亮点状态
更好地控制WebSocket框架Play 2.5 WebSocket API使您可以直接控制WebSocket框架.您现在可以发送和接收二进制,文本,ping,pong和关闭帧.如果您不想担心这种详细程度,Play仍会自动将您的JSON或XML数据转换为正确的帧类型.
但是 https://www.playframework.com/documentation/2.5.x/JavaWebSockets有关于LegacyWebSocket的示例,不推荐使用
当使用ES6导入/导出语法时,似乎Jest是默认情况下自动导入我导入的组件,即使我明确地为组件关闭了模拟.
jest.autoMockOff();
jest.dontMock("../bundles/Opportunities/MarkAsLost.jsx");
Run Code Online (Sandbox Code Playgroud)
这是测试组件顶部的导入:
import MarkAsLost from "../bundles/Opportunities/MarkAsLost.jsx";
Run Code Online (Sandbox Code Playgroud)
这是被测组件底部的导出:
export default MarkAsLost;
Run Code Online (Sandbox Code Playgroud)
这是将导入的组件记录在测试文件中的结果:
{ [Function]
_isMockFunction: true,
_getMockImplementation: [Function],
mock: { calls: [ [Object] ], instances: [ [Object] ] },
mockClear: [Function],
mockReturnValueOnce: [Function],
mockReturnValue: [Function],
mockImpl: [Function],
mockImplementation: [Function],
mockReturnThis: [Function],
displayName: 'MarkAsLost' }
Run Code Online (Sandbox Code Playgroud)
当我使用旧样式语法,即:
var MarkAsLost = require("../bundles/Opportunities/MarkAsLost.jsx");
module.exports = MarkAsLost;
Run Code Online (Sandbox Code Playgroud)
这是loggin组件的结果,该组件现在在测试文件中表现得如我所愿
{ [Function] displayName: 'MarkAsLost' }
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激
我有一个Play Framework应用程序,作为WebSocket服务器,在Heroku和一些WebSocket客户端上运行(类似聊天的应用程序).
我注意到Heroku在55秒不活动后关闭了每个连接,我想阻止这一点,所以我想在我的Play应用程序中创建一个机制,向每个客户端发送某种"ping"以保持连接存活.
我只是想知道这是不是要走了?我错过了一些关键的东西吗?
最好的祝福
给出以下代码:
List<String> list = Arrays.asList("a", "b", "c");
list.stream()
.map(s -> s + "-" + s) //"a-a", "b-b", "c-c"
.filter(s -> !s.equals("b-b")) //"a-a", "c-c"
.forEach(s -> System.out.println(s));
Run Code Online (Sandbox Code Playgroud)
map并且filter是中间操作并且forEach是终端操作.只有在执行终端操作之后,我们才能获得数据转换的结果.
有没有办法迫使评估更加渴望并获得某种中间结果 - 不打破流操作链?例如,我想要列出"aa","bb","cc"(这将是第一次中间操作的结果).
我是PlayFramework的新手.
请给我一个示例,了解如何从我的视图中访问配置参数.我正在使用PlayFramework 2.5.3
旧方式(@current已弃用):
@current.configuration.getString("environment.param")
Run Code Online (Sandbox Code Playgroud)
新方法(据我所知,应该注入配置):
我知道如何从控制器访问它.
@Inject() (val messagesApi: MessagesApi, configuration: Configuration)
Run Code Online (Sandbox Code Playgroud)
我如何在我看来使用它?
在调用该方法时PlatformUI.getWorkbench().restart(),应用程序只是关闭并拒绝重新启动产品.
我试图找到一种方法来显示下拉列表中的所有国家/地区列表.php或jquery中是否有任何短代码可以在我的网页上获取国家/地区列表?先感谢您.
java ×4
jestjs ×3
ecmascript-6 ×2
javascript ×2
reactjs ×2
websocket ×2
babel-jest ×1
babeljs ×1
eclipse ×1
eclipse-rcp ×1
heroku ×1
hibernate ×1
hikaricp ×1
java-8 ×1
java-stream ×1
jquery ×1
npm ×1
php ×1
scala ×1
testing ×1