Javascript 使用Jest测试影响DOM的脚本

Javascript 使用Jest测试影响DOM的脚本,javascript,html,testing,dom,jestjs,Javascript,Html,Testing,Dom,Jestjs,我有一个脚本,可以在文档中将标记转换为html,我正在尝试测试html格式。这是我到目前为止所拥有的 #你好 您是在测试脚本还是标记?您不能期望同步加载脚本。还不清楚为什么要远程加载脚本。@EstusFlask我计划测试生成的标记,所以#hello应该转换为hello。我没有构建脚本(我使用的是md页面),我想测试脚本是否正确翻译。我不确定这是为了什么。如果你有降价测试,使用一种简单的方法,用最少的运动部件。md页面似乎使用了决战。用它来渲染。如果您出于某种原因坚持使用md页面,请至少获取一

我有一个脚本,可以在文档中将标记转换为html,我正在尝试测试html格式。这是我到目前为止所拥有的


#你好

您是在测试脚本还是标记?您不能期望同步加载脚本。还不清楚为什么要远程加载脚本。@EstusFlask我计划测试生成的标记,所以#hello应该转换为hello。我没有构建脚本(我使用的是md页面),我想测试脚本是否正确翻译。我不确定这是为了什么。如果你有降价测试,使用一种简单的方法,用最少的运动部件。md页面似乎使用了
决战
。用它来渲染。如果您出于某种原因坚持使用md页面,请至少获取一份本地副本。毫无理由地向githacks服务器执行异步请求会使测试变得缓慢和不可靠。使用md page可能需要一个新的JSDOM实例,而不是Jest的默认实例,加载事件需要手动等待,例如,它不能像您尝试的那样同步工作。@EstusFlask这很有趣,请原谅我这里的明显问题(我是一名初级工程师,希望为开源项目编写测试)。我可以将摊牌导入我的jest文件,但“使用它进行渲染”是什么意思?如果您没有使用md页面脚本测试它的特定要求,那么是的,使用摊牌进行测试可能会更简单。需要测试它的方式取决于要测试的标记形式,例如
expect(new shodown.Converter().makeHtml(myMdSnippet)).toBe(“…”)
。Jest快照对于标记测试可能比字符串断言更简单,请参阅。手动验证.snap文件中的标记是否符合您的期望,并将其保留一次。您是在测试脚本还是标记?您不能期望同步加载脚本。还不清楚为什么要远程加载脚本。@EstusFlask我计划测试生成的标记,所以#hello应该转换为hello。我没有构建脚本(我使用的是md页面),我想测试脚本是否正确翻译。我不确定这是为了什么。如果你有降价测试,使用一种简单的方法,用最少的运动部件。md页面似乎使用了
决战
。用它来渲染。如果您出于某种原因坚持使用md页面,请至少获取一份本地副本。毫无理由地向githacks服务器执行异步请求会使测试变得缓慢和不可靠。使用md page可能需要一个新的JSDOM实例,而不是Jest的默认实例,加载事件需要手动等待,例如,它不能像您尝试的那样同步工作。@EstusFlask这很有趣,请原谅我这里的明显问题(我是一名初级工程师,希望为开源项目编写测试)。我可以将摊牌导入我的jest文件,但“使用它进行渲染”是什么意思?如果您没有使用md页面脚本测试它的特定要求,那么是的,使用摊牌进行测试可能会更简单。需要测试它的方式取决于要测试的标记形式,例如
expect(new shodown.Converter().makeHtml(myMdSnippet)).toBe(“…”)
。Jest快照对于标记测试可能比字符串断言更简单,请参阅。在.snap文件中手动验证标记是否符合您的期望,并将其保留一次。