Deno 테스트 환경 빌드(Vim)

9342 단어 VimDenoNeovimidea
Deno의 테스트 감각이 양호Vim하도록 환경을 구축한다.

vim-test 가져오기


다음 플러그인이 유명한 것 같아서 테스트를 가져왔습니다.
https://github.com/vim-test/vim-test
설치는 dein.vim 이런 느낌.
[[plugins]]
repo = 'vim-test/vim-test'
depends = ['neoterm']
on_cmd = ['TestNearest', 'TestFile', 'TestSuite', 'TestLast', 'TestVisit']
hook_add = '''
nnoremap <silent> <space>tn <cmd>TestNearest<cr>
nnoremap <silent> <space>tf <cmd>TestFile<cr>
nnoremap <silent> <space>ts <cmd>TestSuite<cr>
nnoremap <silent> <space>tl <cmd>TestLast<cr>
nnoremap <silent> <space>tg <cmd>TestVisit<cr>

let test#strategy = {
	\ 'nearest': 'neoterm',
	\ 'file'   : 'neoterm',
	\ 'suite'  : 'neoterm',
	\ }

let test#javascript#denotest#options = {
    \ 'all': '--no-check --unstable -A'
    \ }
'''

[[plugins]]
repo = 'kassio/neoterm'
on_cmd = ['Tnew']
hook_add = '''
let g:neoterm_autoinsert = 1
let g:neoterm_autoscroll = 1
let g:neoterm_default_mod = 'botright'
let g:neoterm_size = 10
'''
vim-teststrategy라고 하는데 테스트 수행에 무엇을 사용할지 선택할 수 있다.
이것저것 시험해 본 결과 kassio/neoterm 사용하기 좋을 것 같아서요.
보는 방식과 변하는 정도, 솔직히 이건 뭐든 될 것 같아.
무엇을 선택할 수 있는지 참고하세요vim-test/vim-test: strategies.

Deno test 구성


Deno의 테스트에 삽입된 Deno.test 함수가 있기 때문에 사용할 수 있습니다.
기본적으로 mod.ts에 실현이 기재되어 있다면 테스트는 mod_test.ts에 기재된 것 같다.
(뒤에 추가_test간단하게 예를 들면 이런 느낌이다.
  • mod.ts
  • export const getTrue = (): boolean => {
      return true;
    };
    
    export const add = (x: number, y: number): number => {
      return x + y;
    };
    
  • mod_test.ts
  • import {
      assert,
      assertEquals,
    } from "https://deno.land/[email protected]/testing/asserts.ts";
    import { add, getTrue } from "./mod.ts";
    
    Deno.test("getTrue test", () => {
      assert(getTrue());
    });
    
    Deno.test("add test", () => {
      const expected = 2;
      const actual = add(1, 1);
      assertEquals(actual, expected);
    });
    
    mod_test.ts를 열고 Deno.test("getTrue") 근처에 커서가 있는 상태에서 <space>tn를 눌렀을 때 다음 테스트getTrue만 수행됩니다.
    TestNearest <space>tf를 눌렀을 때 다음과 같은 mod_test.ts의 모든 테스트를 실행합니다.
    TestFile
    도시락

    참고 자료

  • Manual | Deno
  • vim-test/vim-test: Run your tests at the speed of thought
  • kassio/neoterm: Wrapper of some vim/neovim's :terminal functions.
  • 좋은 웹페이지 즐겨찾기