V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
walkingway
V2EX  ›  Node.js

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

  •  
  •   walkingway · Aug 7, 2019 · 5245 views
    This topic created in 2457 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
        1
    libook  
       Aug 8, 2019 via Android
    由测试框架按需控制服务的启动和停止,让服务成为测试框架的子进程。
    Hanggi
        2
    Hanggi  
       Aug 8, 2019
    stub
    del1214
        3
    del1214  
       Aug 8, 2019
    战略关注一下
    twohappy
        4
    twohappy  
       Aug 9, 2019
    战略插眼
    TomVista
        5
    TomVista  
       Sep 4, 2019
    插眼
    await exc('npm start && setModel ='test'')
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1014 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 22:10 · PVG 06:10 · LAX 15:10 · JFK 18:10
    ♥ Do have faith in what you're doing.