大家好:我注意到leiningen有一个很好的单元测试插件 - 你只需输入“lein test”:)。但是,目前尚不清楚它如何“找到”测试文件。我需要将特定文件夹放入其中吗?或者,如果它只是扫描命名空间(这是它在lein文档中所说的),我如何知道我需要使用哪个命名空间来为leiningen查看我的测试?
我在考虑简单地创建一个名为tests.clj的测试文件。样本模板真的很棒......
答案 0 :(得分:8)
在顶层创建一个test /目录,然后创建一些文件,比如mytests.clj。这是一个示例(警告:我实际上没有编译它,但简化了现有的测试):
(ns mytests
(:use clojure.test))
(defn myfixture [block]
(do
(println "before test")
(block)
(println "after test")))
(use-fixtures :each myfixture)
(deftest mytest
(is (= 2 (+ 1 1))))
答案 1 :(得分:-3)
for lein version 2.7.1:{这是来自Linux Mint with Leiningen 2.7.1 on Java 1.8.0_121 Java HotSpot(TM)64-Bit Server VM} 我想通过测试做更多的事情,现在有了这些新知识......
var canvas = new fabric.Canvas('c');
fabric.Tag = fabric.util.createClass(fabric.Group, {
type: 'PItag',
initialize: function() {
options = {};
options.top = 0;
options.left = 0;
var defaults = {
width: 100,
height: 40,
originX: 'center',
originY: 'center'
};
var defaults1 = {
width: 100,
height: 20,
originX: 'center',
originY: 'top',
top: -20,
backgroundColor: 'red'
};
var defaults2 = {
width: 100,
height: 20,
originX: 'center',
originY: 'top',
top: 0
};
var items = [];
items[0] = new fabric.Rect($.extend({}, defaults, {
fill: '#77AAFF',
}));
items[1] = new fabric.Textbox('PI tag name', $.extend({}, defaults1, {
textAlign: 'center',
fontSize: 14
}));
items[2] = new fabric.IText('####', $.extend({}, defaults2, {
textAlign: 'center',
fontSize: 16
}));
this.callSuper('initialize', items, options);
},
getTagName: function () {
return this._objects[1].text;
},
setTagName: function (value) {
this._objects[1].text = value;
},
getValue: function () {
return this._objects[2].text;
},
setValue: function (value) {
this._objects[2].text = value;
this.canvas.renderAll();
},
_render: function(ctx) {
this.callSuper('_render', ctx);
}
});
var pi = new fabric.Tag();
pi.setTagName("Unix time");
canvas.add(pi);
setInterval(function() {
pi.setValue(Math.floor((new Date()).getTime() / 1000).toString());
canvas.renderAll();
}, 1000);
然后你可以添加:(lein new <projname>
cd <projname>
tree -d
cat test/<projname>/core_test.clj
lein test
-> observe failing test template even on blank new project
)
并看到你的努力...