我正在使用mocha来单元测试为node.js编写的应用程序
我想知道是否可以对未在模块中导出的单元测试功能进行单元测试.
例:
我有很多像这样定义的函数 foobar.js
function private_foobar1(){
...
}
function private_foobar2(){
...
}
Run Code Online (Sandbox Code Playgroud)
以及一些出口为公共的功能:
exports.public_foobar3 = function(){
...
}
Run Code Online (Sandbox Code Playgroud)
测试用例的结构如下:
describe("private_foobar1", function() {
it("should do stuff", function(done) {
var stuff = foobar.private_foobar1(filter);
should(stuff).be.ok;
should(stuff).....
Run Code Online (Sandbox Code Playgroud)
显然这不起作用,因为private_foobar1没有导出.
对私有方法进行单元测试的正确方法是什么?摩卡有没有一些内置的方法呢?
我想知道是否可以将一定量的未解析内容添加到作为注释被忽略的diff文件(统一)中.
一个很好的用途是使用git diffs扩充重要信息,例如从哪个分支到diff(特别是在使用--full-index选项时,它只显示blob引用).
是否可以设置通过该点生成的点的边框颜色,Axes.scatter或者它是否始终为黑色?
谢谢!
我想知道HTML 4是否允许没有值的属性,因为它等同于具有空值的属性.例如:
<h2 section>foobar</h2>
Run Code Online (Sandbox Code Playgroud)
代替:<h2 section="">foobar</h2>
这两个片段同样有效吗?如果没有,它们是否在HTML版本5中有效?
谢谢!
我想知道是否有一种方法可以像Go语言一样在Go语言中使用名称空间.
在Python中如果我有以下文件包含函数:
/a.py
def foo():
/b.py
def bar():
Run Code Online (Sandbox Code Playgroud)
我可以访问foo,并bar在第三Python的文件如下:
import a
a1 = a.foo()
import b
b1 = b.bar()
Run Code Online (Sandbox Code Playgroud)
我在使用Go语言查找名称空间的文档时遇到了一些困难.如何实现命名空间?用package和import?或者import致力于外部图书馆?
我想我明白,每个包都应该有一个专用目录.我想知道这是否绝对是强制性的,因为只要高粒度的模块是设计某个想法的最佳方式,它就变得不切实际.换句话说,我想避免每个包使用一个目录(供内部使用).
node.js进入分段故障时是否可以检查javascript堆栈跟踪?
目前的情况如下:我正在运行一个有一些嵌套的脚本async.eachSeries,这导致了一些奇怪的原因RangeError: Maximum call stack size exceeded.因此,我增加了堆栈大小node --stack-size=1000000,我留下了Segmentation故障.
以下是该脚本的源代码:http://nopaste.info/ca0c118591.html
我也试过了 segfault-handler,但是由于一些不可思议的原因,它没有抓住我的段错误.
我想将决策树学习算法应用于我从CSV导入的数据集.问题是决策树块的"tra"输入仍为红色,表示"输入示例集必须具有特殊属性'标签'.".如何添加该标签?它是什么?我已经玩了一段时间没有结果.任何帮助赞赏.
ADDENDUM:列的标题已被正确推断,因此我不知道"标签"是什么.
我正在进行一些实验,在Tomcat中的openrdf-workbench webapp中导入以turtle语言表达的三元组,其中包含一个SPARQL端点.
我想知道是否使用乌龟,或者通常在RDF/RDFS中是否可以在所有(隐式)主题上有条件地为另一个谓词/对象的存在添加某个谓词/对象声明.
例如,如果我定义了以下三元组:
foo:a foo:b foo:c
foo:d foo:b foo:c
foo:e foo:b foo:c
foo:f foo:b foo:c
Run Code Online (Sandbox Code Playgroud)
我想自动将以下谓词/主题添加到与predicate = foo:b和object = 匹配的所有主题foo:c:
(implicit subject) foo:g foo:h
Run Code Online (Sandbox Code Playgroud)
为了自动生成以下三元组:
foo:a foo:g foo:h
foo:d foo:g foo:h
foo:e foo:g foo:h
foo:f foo:g foo:h
Run Code Online (Sandbox Code Playgroud)
这可能吗?
或者:有没有办法定义一些三元组,以便foo:a/d/e/f在查询具有foo:g foo:h谓词/对象的主题时启用SPARQL ?
我有两个不同的mongoDB查询代表两个不同的条件,例如:
{ stuff: { $elemMatch: { foo: 1, bar: "a" } } }
Run Code Online (Sandbox Code Playgroud)
和:
{ stuff: { $elemMatch: { foo: 2, bar: "b" } } }
Run Code Online (Sandbox Code Playgroud)
wherestuff是同时设置了foo和bar字段的元素数组。
现在,我不确定如何匹配集合中同时满足上述两个条件的元素。
只要是明确的:在这种情况下,我需要有两个一个元素的所有元素stuff已 foo设置为1同bar组的"a"还的一个元素stuff已经foo设置为2同bar组的"b"。
这样做 { stuff: { $elemMatch: { foo: { $in: [1, 2] }, bar: { $in: ["a", "b"] } } }是错误的,因为它会表现得像一个OR在两个表达式(包括两个新表达式)上。 …
我有一个非常占用CPU资源的应用程序。我想知道是否可以获取当前的堆栈跟踪,以便通过 SIGINT 终止来了解当前计算中的特定函数。
我尝试添加以下处理程序:
process.on('SIGINT', function() {
log('SIGINT!')
var stack = new Error().stack;
log( stack );
log('quitting.');
process.exit();
});
Run Code Online (Sandbox Code Playgroud)
但似乎只有在密集计算结束时才会调用它,而不是在我按Ctrl-C时立即调用。
知道如何跟踪执行而不用日志消息污染代码吗?
javascript ×3
node.js ×3
debugging ×2
stack-trace ×2
data-mining ×1
diff ×1
git ×1
git-diff ×1
go ×1
graphics ×1
html ×1
html4 ×1
matplotlib ×1
mocha.js ×1
module ×1
mongodb ×1
namespaces ×1
nosql ×1
package ×1
plot ×1
private ×1
rapidminer ×1
rdf ×1
scatter-plot ×1
semantic-web ×1
signals ×1
sparql ×1
triplestore ×1
turtle-rdf ×1
unit-testing ×1