我在Go中看到了几种不同的测试包命名策略,并想知道每种方法的优缺点以及我应该使用哪种方法.
策略1:
文件名:github.com/user/myfunc.go
package myfunc
Run Code Online (Sandbox Code Playgroud)
测试文件名:github.com/user/myfunc_test.go
package myfunc
Run Code Online (Sandbox Code Playgroud)
有关示例,请参阅bzip2.
策略2:
文件名:github.com/user/myfunc.go
package myfunc
Run Code Online (Sandbox Code Playgroud)
测试文件名:github.com/user/myfunc_test.go
package myfunc_test
import (
"github.com/user/myfunc"
)
Run Code Online (Sandbox Code Playgroud)
有关示例,请参见电线.
策略3:
文件名:github.com/user/myfunc.go
package myfunc
Run Code Online (Sandbox Code Playgroud)
测试文件名:github.com/user/myfunc_test.go
package myfunc_test
import (
. "myfunc"
)
Run Code Online (Sandbox Code Playgroud)
请参阅字符串以获取示例.
Go标准库似乎使用了策略1和2的混合.我应该使用哪三个?这是一个痛苦附加package *_test到我的测试包,因为它意味着我无法测试我的包私有方法,但也许有一个我不知道的隐藏的优势?
Angular 2 备忘单显示routerLink模板中有和没有方括号的示例:
<a routerLink="/path">
<a [routerLink]="[ '/path', routeParam ]">
<a [routerLink]="[ '/path', { matrixParam: 'value' } ]">
<a [routerLink]="[ '/path' ]" [queryParams]="{ page: 1 }">
<a [routerLink]="[ '/path' ]" fragment="anchor">
Run Code Online (Sandbox Code Playgroud)
功能有什么不同?
我有以下格式化字符串:
'%.2f' % n
Run Code Online (Sandbox Code Playgroud)
如果n是负的零(-0,-0.000等)的输出将是-0.00.
如何使输出始终0.00为负值和正零值n?
(实现这一点是相当直接的,但我找不到我称之为简洁的pythonic方式.理想情况下,我不知道有一个字符串格式化选项.)
我正在尝试运行Angular 2 种子应用程序.不幸的是,npm install放置了大量的文件node_modules,我认为我还必须与种子应用程序代码一起提供服务.
如果我只需要一些用于应用程序的工作,我不想要提供所有这些静态文件.有没有办法只服务我真正需要的那些?
我问的原因是因为Google App Engine开发环境(dev_appserver.py)对其可以提供的文件数量设置了限制,并且生产环境对可以上载的文件的总大小有限制.上传兆字节的不必要文件会很惭愧.
我正在使用带有线程安全模式的python 2.7的NDB.
我知道查询具有NDB的实体不使用本地缓存或内存缓存,而是直接访问数据存储区,而不是通过密钥名称获取.(如果这个前提不正确,问题的其余部分可能是多余的.)
因此,一个好的范例是仅使用keys_only = True进行查询,然后执行get_multi以获取完整的实体?
好处将是keys_only =真查询比keys_only =假快得多,get_multi可能只是打的memcache&致电get_multi您的实体现在都保存在情况下,你需要再次进行查询内存缓存.
缺点是您现在有一个RPC查询调用+ get_multi调用,我认为您可以在一个get_multi中调用实体的方式有限,因此您的有效查询大小可能会受到限制.
你怎么看?我们应该只使用keys_only = True查询然后执行get_multi吗?是否存在某些最小和最大查询大小限制,使得此技术不仅仅像执行返回完整实体的查询一样有效?
Google App Engine Go SDK的1.8.6版支持本地单元测试.该appengine/aetest软件包允许我创建一个Context单元测试.
我如何使用它net/http/httptest来测试我的HTTP处理程序?
我有以下功能:
import pandas as pd
def eq(left: pd.Timestamp, right: pd.Timestamp) -> bool:
return left == right
Run Code Online (Sandbox Code Playgroud)
当我通过 Mypy 运行它时,出现以下错误:
错误:从声明为返回“bool”的函数返回任何内容
我相信这是因为 Mypy 不知道pd.Timestamp所以将其视为Any. (使用 Mypyreveal_type函数表明 Mypy 将left和right视为Any。)
处理这个问题以阻止 Mypy 抱怨的正确方法是什么?
我正在使用angular-cli构建一个Angular 4应用程序.我想使用ng-bootstrap来包含Bootstrap 4.但是我也想在我的构建中自定义Bootstrap的scss变量,如http://v4-alpha.getbootstrap.com/getting-started/options/所述.
我怎样才能做到这一点?
我有一个python App Engine应用程序并使用Google Cloud Storage API保存文件.但是我需要获取每个文件的服务URL.
在生产时,很容易弄清楚我所提供的服务URL是什么http://commondatastorage.googleapis.com,/bucket/path/to/file.txt因为我已经拥有了我的文件的存储桶名称和路径.
如何确定开发服务器上的服务URL是什么?
对于使用现在可以使用blobstore或云存储引用的图像来执行此操作似乎很简单images.get_serving_url.
如何以与开发和生产App Engine环境兼容的方式找出所有文件的服务URL,而不仅仅是图像?
我一直在使用这种模式:
func myObservable() Observable<boolean> {
...
}
func myFunc() {
myObservable().subscribe((cond: boolean) => {
if (cond) {
// How do I unsubscribe here?
}
});
}
Run Code Online (Sandbox Code Playgroud)
但是我看不到任何取消订阅的方法,因此可能会造成内存泄漏.
我问的原因是因为Angular 2的HTTP客户端使用相同的模式 - 虽然我相信它会以某种方式自动取消订阅,我也想这样做.
angular ×4
python ×4
go ×2
unit-testing ×2
angular-cli ×1
angularjs ×1
javascript ×1
mypy ×1
ng-bootstrap ×1
npm ×1
rxjs5 ×1
typescript ×1