walkingway
V2EX  ›  Node.js

Koa2 的 app.js 里写的分支单元测试怎么覆盖?

  •  
  •   walkingway · Aug 7, 2019 · 5712 views
    This topic created in 2647 days ago, the information mentioned may be changed or developed.
    因为项目需要,在 app.js 一开始就动态加载了某个确定的 env 变量,并根据这些变量值通过 if else 选择要 app.use(...) 的不同中间件,问题来了:
    在写单元测试时,无法有效覆盖到所有 if else 分支,毕竟环境变量在很早的时候就已经加载,app.js 也早于 unit test 加载。这就是说我跑单元测试的时候,app.js 早就以某种特定的 env 跑完了所有逻辑。

    那么有没有办法,在单元测试时修改 env 重新加载 app.js 呢?
    5 replies  •  2019-09-04 16:26:18 +08:00
    libook
    libook
    Aug 8, 2019 via Android
    1
    由测试框架按需控制服务的启动和停止,让服务成为测试框架的子进程。
    Hanggi
    Hanggi
    Aug 8, 2019
    2
    stub
    del1214
    del1214
    Aug 8, 2019
    3
    战略关注一下
    twohappy
    twohappy
    Aug 9, 2019
    4
    战略插眼
    TomVista
    TomVista
    Sep 4, 2019
    5
    插眼
    await exc('npm start && setModel ='test'')
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2452 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:09 · PVG 19:09 · LAX 03:09 · JFK 06:09
    ♥ Do have faith in what you're doing.