单元测试django应用程序中的javascript函数

单元测试django应用程序中的javascript函数,javascript,jquery,django,mocha.js,chai,Javascript,Jquery,Django,Mocha.js,Chai,我有一个Django应用程序,它在views.py中包含后端逻辑,在HTML文件中包含用javascript和jQuery编写的前端逻辑/用户数据处理。现在我想写单元测试,我可以用MochaChai来做这件事,或者用Django来做JavaScript代码的单元测试 我的目录结构 myapp --->templates ----->base.html ----->home.html base.html包含: <html> <body> <h1&g

我有一个Django应用程序,它在views.py中包含后端逻辑,在HTML文件中包含用javascript和jQuery编写的前端逻辑/用户数据处理。现在我想写单元测试,我可以用MochaChai来做这件事,或者用Django来做JavaScript代码的单元测试

我的目录结构

myapp
--->templates
----->base.html
----->home.html
base.html包含:

<html>
<body>
<h1>WElcome</h1>
<script>
function myfunc(){
console.log("welcome")
//some user logic 
}
</sctipt>

为了在Django模板中编写此“myfunc”的单元测试用例,使用哪种框架?我们尝试了以下方法:

使用Django测试框架作为基础 扩展它,使用带有无头浏览器的Nightwatch来运行JS 使用Selenium进行集成测试 然而,我们没能让它完全工作,因为headless浏览器没有运行我们所有的JS代码。这是几年前的事了,图书馆肯定从那时起就在发展

如果您仅对集成测试感到满意:

使用Django LiveServerTestCase和一个能够正确运行所有JS代码的无头浏览器设置selenium


这与Django无关。搜索javascript的单元测试框架,你会发现一些,就像你找到的mocha和chai一样。@dirkgroten谢谢,我最好选择mocha和chai,我想这会有用的谢谢,但是selenium用于集成测试。我想为我的应用程序做一个单元测试。如果需要运行Django服务器才能运行JS测试,那么它就不再是单元测试了。Django将创建一个测试数据库,然后该设置就是一个集成测试——即使测试本身只进行单元测试。