nodejs basename 方法会依据运行环境的不同选择不同的实现。
it('can get basename correctly', () => { expect(path.win32.basename('C:\\foo\\bar\\baz.txt')).toBe('baz.txt') expect(path.posix.basename('C:\\foo\\bar\\baz.txt')).toBe('C:\\foo\\bar\\baz.txt') }) 上面的测试用例无论在那个平台执行都是正确的。
it('can get basename correctly on windows', () => { expect(path.basename('C:\\foo\\bar\\baz.txt')).toBe('baz.txt') }) 上面的测试用例只有在 Windows 系统执行时,才是通过的。问题来了,如何在 mac 上 mock nodejs 的运行环境,指定其为 Windows ,让这个测试用例通过?
朋友们有没有想法,一直没找到解决思路,困扰好久了。
