我使用Angular-CLI(beta 20)构建了Angular2项目.
有没有办法只针对一个选定的spec文件运行测试?
我曾经有一个基于Angular2快速启动的项目,我可以手动将规范添加到jasmine文件中.但是我不知道如何在业力测试之外设置它,或者如何使用Angular-CLI构建将业力测试限制为特定文件.
我使用Jaxb2和Spring.我正在尝试解组由我的两个客户发送的一些XML.
到目前为止,我只需要处理一个发送了一些像这样的xml的客户:
<foo xmlns="com.acme">
<bar>[...]</bar>
<foo>
Run Code Online (Sandbox Code Playgroud)
绑定到这样的POJO:
@XmlType(name = "", propOrder = {"bar"})
@XmlRootElement(name = "Foo")
public class Foo {
@XmlElement(name = "Bar")
private String bar;
[...]
}
Run Code Online (Sandbox Code Playgroud)
我发现之前的开发人员在unmarshaller中硬编码了命名空间以使其工作.
现在,第二个客户发送相同的XML但更改名称空间!
<foo xmlns="com.xyz">
<bar>[...]</bar>
<foo>
Run Code Online (Sandbox Code Playgroud)
显然,unmarshaller没有解组,因为它期望一些{com.acme}foo
而不是{com.xyz}foo
.不幸的是,要求客户更改XML不是一种选择.
我尝试了什么:
1)在application-context.xml
,我搜索了一个配置,它允许我忽略命名空间但找不到:
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="packagesToScan">
<list>
<value>com.mycompany.mypkg</value>
</list>
</property>
<property name="marshallerProperties">
<map>
<entry key="???"><value type="java.lang.Boolean">false</value></entry>
</map>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
似乎唯一可用的选项是Jaxb2Marshaller的Javadoc中列出的选项:
/**
* Set the JAXB {@code Marshaller} properties. These properties will be set on the
* underlying …
Run Code Online (Sandbox Code Playgroud) 主要问题是如何测试Promise完成后执行的预期操作,例如测试组件是否在收到某些远程内容后正确更新其状态.
在下面的规范中,dealWithIt()
模拟为响应完成的promise而执行的逻辑(它更新变量并触发"另一个异步事件").
it('Promises fulfilled by flushMicrotasks',fakeAsync((): void => {
let x = 1;
let y = 2;
let dealWithIt = function(p:Promise<number>) {
p.then( v => {
x = v;
Promise.resolve(v).then( v=> {y = v+1; });
});
};
let p = Promise.resolve(y);
dealWithIt(p);
flushMicrotasks();
//valid if promise handling completed
expect(x).toBe(2);
expect(y).toBe(3);
}));
it('Promises fulfilled by tick',fakeAsync((): void => {
let x = 1;
let y = 2;
let dealWithIt = function(p:Promise<number>) {
p.then( v => {
x = v; …
Run Code Online (Sandbox Code Playgroud) 我正在使用 JupyterHub 和自定义验证器。它使用访问令牌设置 auth_state,然后可以将其复制到pre_spawn_start
方法内的环境中,如示例所示:
class MyAuthenticator(Authenticator):
@gen.coroutine
def authenticate(self, handler, data=None):
username = yield identify_user(handler, data)
upstream_token = yield token_for_user(username)
return {
'name': username,
'auth_state': {
'upstream_token': upstream_token,
},
}
@gen.coroutine
def pre_spawn_start(self, user, spawner):
"""Pass upstream_token to spawner via environment variable"""
auth_state = yield user.get_auth_state()
if not auth_state:
# auth_state not enabled
return
spawner.environment['UPSTREAM_TOKEN'] = auth_state['upstream_token']
Run Code Online (Sandbox Code Playgroud)
但是,每个用户只会发生一次。如果我注销并再次登录,则pre_spawn_start
不会再次调用,并且旧令牌仍然存在于环境变量中。
是否可以user.get_auth_state()
直接从笔记本进行访问,以便我可以确保使用当前令牌,而不是之前设置并存储在环境中?
否则,是否可以强制生成器在注销时停止,以便后续登录将触发pre_spawn_start
?
我正在尝试禁用生产中的缓存记录.已成功使SQL停止记录查询,但没有运气缓存日志条目.生产日志中的示例行:
CACHE (0.0ms) SELECT `merchants`.* FROM `merchants` WHERE `merchants`.`id` = 1 LIMIT 1
Run Code Online (Sandbox Code Playgroud)
我不想禁用所有日志记录,因为我希望logger.debug语句显示在生产日志中.使用rails 3.2.1与Mysql和Apache.有什么建议?
我怀疑我们的一个应用程序中的一些性能问题是由于休眠过度急切加载某些关联而引起的,这可以通过切换到延迟加载来解决。不幸的是,跟踪这些关联的实际使用方式和时间非常困难,更不用说“平均”使用它们的频率了。是否有一些工具(休眠日志记录选项?)可以帮助决定哪些急切加载的关联应该更好地延迟加载和/或切换到其他获取策略?
例如,我可以想象一个工具,它可以记录每个休眠会话的日志,显示每个类加载了多少个对象,以及应用程序实际访问了其中的多少个对象,甚至生成一些有关这些的统计信息。当然,最终只有负载测试才能决定哪个更好,但这可能会给您一些尝试的想法。或者也许还有更好的工具。
是否有一个PHP的lint /静态分析器,当没有记录或捕获异常时会发出警告?考虑这个例子:
// ERROR: InvalidArgumentException must be documented or caught inside method.
function divide($a, $b)
{
if (0 == $b) {
throw new InvalidArgumentException();
}
return $a / $b;
}
Run Code Online (Sandbox Code Playgroud)
修理:
/**
* @throws InvalidArgumentException if $b is zero.
*/
function divide($a, $b)
Run Code Online (Sandbox Code Playgroud)
因为它必须被记录,类似于Java throws
在方法原型上的显式.那应该是可能的:
// ERROR: InvalidArgumentException must be documented or caught inside method.
function calc()
{
print divide(6, 2);
}
Run Code Online (Sandbox Code Playgroud)
PHP有一些明显的警告,但在大多数情况下,应该更早地检测到这些缺陷.有没有这样做的麻烦?
angular ×2
java ×2
activerecord ×1
angular-cli ×1
caching ×1
exception ×1
hibernate ×1
jasmine ×1
jaxb ×1
jpa ×1
jupyterhub ×1
logging ×1
persistence ×1
php ×1
spring ×1