我试图将配置文件传递给Jest,以便仅从给定目录运行测试.
根据文档,您可以使用config.testPathDirs
:https://facebook.github.io/jest/docs/api.html#config-testpathdirs-array-string,您可以调用jest --config=<config-file>
.
遗憾的是,文档中没有包含配置文件外观的任何描述.
我在一个jest-config.js
文件中尝试了这两个选项:
testPathDirs = ['coredata/src'];
Run Code Online (Sandbox Code Playgroud)
和
config.testPathDirs(['coredata/src']);
Run Code Online (Sandbox Code Playgroud)
跑了:
$ jest --config=jest-config.js
Run Code Online (Sandbox Code Playgroud)
...但我得到这种类型的错误:
$ jest --config=jest-config.js
Using Jest CLI v0.4.0
Failed with unexpected error.
/Users/carles/dev/azazo/coredata/node_modules/jest-cli/src/jest.js:179
throw error;
^
SyntaxError: Unexpected token c
at Object.parse (native)
at /Users/carles/dev/azazo/coredata/node_modules/jest-cli/src/lib/utils.js:291:23
at _fulfilled (/Users/carles/dev/azazo/coredata/node_modules/jest-cli/node_modules/q/q.js:798:54)
at self.promiseDispatch.done (/Users/carles/dev/azazo/coredata/node_modules/jest-cli/node_modules/q/q.js:827:30)
at Promise.promise.promiseDispatch (/Users/carles/dev/azazo/coredata/node_modules/jest-cli/node_modules/q/q.js:760:13)
at /Users/carles/dev/azazo/coredata/node_modules/jest-cli/node_modules/q/q.js:574:44
at flush (/Users/carles/dev/azazo/coredata/node_modules/jest-cli/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:419:13)
Run Code Online (Sandbox Code Playgroud) 我有一个非常慢的maven构建.我想知道是否有一种方法来分析maven执行,以找出哪些是最耗时的步骤.
稍后我会想要比较旧版本(更快)的版本之间的这些时间,因此理想情况下它们应该是可以比较/差异/绘制的格式.
我正在学习Python中的元类.我认为这是一种非常强大的技术,我正在寻找它们的好用途.我想要一些关于使用元类的有用的真实世界示例的反馈.我不是在寻找关于如何编写元类的示例代码(有很多无用的元类的例子),但是你已经应用了这种技术的真实例子,它确实是合适的解决方案.规则是:没有理论上的可能性,但在实际应用中工作的元类.
我将从我所知道的一个例子开始:
期待您的贡献.
我正在尝试编写一个通用的元类来跟踪子类
因为我希望这是通用的,我不想这个元类中硬编码任何类的名字,所以我想出了生成正确的元类,像一些功能:
def make_subtracker(root):
class SubclassTracker(type):
def __init__(cls, name, bases, dct):
print('registering %s' % (name,))
root._registry.append(cls)
super(SubclassTracker, cls).__init__(name, bases, dct)
return SubclassTracker
Run Code Online (Sandbox Code Playgroud)
这样我就可以调用它来为特定的根类生成一个元类:
__metaclass__ = make_subtracker(Root)
Run Code Online (Sandbox Code Playgroud)
这是我遇到问题的地方.我不能做到这一点:
class Root(object):
_registry = []
__metaclass__ = make_subtracker(Root)
Run Code Online (Sandbox Code Playgroud)
...因为Root
我使用时还没有定义make_subtracker(Root)
.我稍后尝试添加metaclass属性,以便至少可以在子类中应用它:
class Root(object):
_registry = []
Root.__metaclass__ = make_subtracker(Root)
Run Code Online (Sandbox Code Playgroud)
......但这不起作用.读取类定义时,metaclass有一个特殊的处理,如http://docs.python.org/reference/datamodel.html#customizing-class-creation中所定义
我正在寻找建议来做到这一点(在运行时以一种应用于其子类的方式更改类'元类,或任何其他替代方法).
在Django应用程序中,我正在尝试访问使用Hibernate(Java ORM)创建的现有MySQL数据库.我使用以下方法反向设计模型:
$ manage.py inspectdb > models.py
Run Code Online (Sandbox Code Playgroud)
这从数据库创建了一个很好的模型文件,很多东西都很好.但我找不到如何正确访问布尔字段,这些字段由Hibernate映射为BIT(1)类型的列.
默认情况下,inspectdb脚本在模型中将这些字段创建为TextField,并添加注释,表示无法可靠地获取字段类型.我将这些更改为BooleanField但是使用admin打开了我的模型对象,但它不起作用(模型对象总是为这些字段获取值true).使用IntegerField也不会起作用(例如在管理员这些字段显示奇怪的非ascii字符).
在不更改数据库的情况下执行此操作的任何提示?(我需要现有的Hibernate映射和Java应用程序仍然可以使用数据库).
更多信息:我将这些字段保留为BooleanField,并使用交互式shell查看获取的值.它们返回为'\ x00'(当Java/Hibernate值为false时)和'\ x01'(当为true时),而不是Python布尔值"True"和"False".
>>> u = AppUser.objects.all()[0]
>>> u.account_expired
'\x00'
>>> u.account_enabled
'\x01'
Run Code Online (Sandbox Code Playgroud)
模型包括:
class AppUser(models.Model):
account_expired = models.BooleanField()
account_enabled = models.BooleanField(blank=True)
# etc...
Run Code Online (Sandbox Code Playgroud) 我试图调整maven插件执行将在maven-2中运行的阶段.
我的具体问题是尝试运行cobertura:instrument
绑定到生命周期阶段的步骤process-test-classes
,以便它不会与使用aspectj的其他插件冲突(并删除检测代码,从而生成0%的覆盖率报告).但我的问题更通用.
在deafault生命周期内,我通过在插件声明中添加一个执行部分来实现这一目标:
<build>
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>instrument-late</id>
<phase>process-test-classes</phase>
<goals>
<goal>instrument</goal>
</goals>
</execution>
</executions>
</plugin>
...
Run Code Online (Sandbox Code Playgroud)
这样,当我运行mvn test
一切正常时,cobertura:仪器在我想要的阶段运行,类得到检测,测试运行与检测类等等.这是汇总输出:
[INFO] [clean:clean {execution: default-clean}]
[INFO] [buildnumber:create {execution: default}]
[INFO] [native2ascii:native2ascii {execution: native2ascii-utf8}]
[INFO] [native2ascii:native2ascii {execution: native2ascii-8859_1}]
[INFO] [resources:resources {execution: default-resources}]
[INFO] [compiler:compile {execution: default-compile}]
[INFO] [jar:jar {execution: lib}]
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Preparing hibernate3:hbm2ddl
[WARNING] Removing: hbm2ddl from forked lifecycle, to prevent recursive invocation.
[INFO] [buildnumber:create {execution: default}]
[INFO] Change …
Run Code Online (Sandbox Code Playgroud) 默认情况下,PostgreSQL将NULL值视为最高值,因此将它们排序为降序查询,最后排序为升序查询.
您可以通过指定"NULLS LAST"或"NULLS FIRST"来修改每个查询或索引创建时的此行为.
如何将其与Django ORM结合使用,而无需使用原始查询?即当我添加到我的query_set之类的东西时,我qs.order_by("-publish_start")
如何指定空值的排序?或者,作为替代方案,在字段/索引声明时.
我正在使用Django Rest Framework为我的应用程序构建API,并希望实现DjangoRestFramework-JWT进行令牌认证.这些步骤看起来很简单,但是当我测试端点时,我得到500错误.终端输出是一大堆html说没有提供csrf_token.代码和错误如下.非常感谢您的帮助.
curl -X POST -d "username=admin&password=123abc" http://127.0.0.1:8000/api/token/auth/
Run Code Online (Sandbox Code Playgroud)
CSRF错误
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>403 Forbidden</title>
</head>
<body>
<div id="summary">
<h1>Forbidden <span>(403)</span></h1>
<p>CSRF verification failed. Request aborted.</p>
<p>You are seeing this message because this site requires a CSRF cookie when submitting forms. This cookie is required for security reasons, to ensure that your browser is not being hijacked by third parties.</p>
<p>If you have configured your browser to disable cookies, please re-enable …
Run Code Online (Sandbox Code Playgroud) 我有一个实体,我想指定一个限制,两个字段应该有一个唯一的对值.例如,一个字段是所有者,另一个字段是名称,我想要一个限制,即(所有者,名称)的组合应该是唯一的.但我不想让这些成为复合主键:
@Entity
@Table(name="keyfile")
public class KeyFile {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@ManyToOne @ForeignKey(name="FK_SIGNATUREID_USER")
private User owner;
@Column(nullable=false,length=80)
private String name;
}
Run Code Online (Sandbox Code Playgroud)
如何使用Hibernate注释指定此限制?
django ×3
python ×3
maven ×2
orm ×2
auth-token ×1
cobertura ×1
hibernate ×1
javascript ×1
jestjs ×1
jwt ×1
maven-2 ×1
maven-plugin ×1
metaclass ×1
mysql ×1
postgresql ×1
profiling ×1