improve(test): prepare some testing environment
refactor(util): improve dependencies handling