use proxyquire to mock in test
fix some error in mock require
rename some method
fix path basename error