Javascript Mixpanel返回响应对象而不是未定义的对象,即使在AVA单元测试中选择了out

Javascript Mixpanel返回响应对象而不是未定义的对象,即使在AVA单元测试中选择了out,javascript,mixpanel,Javascript,Mixpanel,我正在尝试为我的mixpanel实现实现一个AVA单元测试。为此,我将比较mixpanel.track()的结果,如果它返回任何结果,则表示该轨迹成功,否则,它应该是未定义的 我想可能是因为它使用了一个不同的mixpanel实例,所以我尝试创建一个命名实例,并确保这一点,但没有效果。我也在尝试同样的过程,但幅度很大,似乎效果很好(当我选择退出时,响应会如预期的那样失败) 我已经在我的组件中这样做了,如果 const test=mixpanel.track('event_name',{})成功!!

我正在尝试为我的mixpanel实现实现一个AVA单元测试。为此,我将比较mixpanel.track()的结果,如果它返回任何结果,则表示该轨迹成功,否则,它应该是未定义的

我想可能是因为它使用了一个不同的mixpanel实例,所以我尝试创建一个命名实例,并确保这一点,但没有效果。我也在尝试同样的过程,但幅度很大,似乎效果很好(当我选择退出时,响应会如预期的那样失败)

我已经在我的组件中这样做了,如果
const test=mixpanel.track('event_name',{})
成功!!test==true,但是如果我在
const test=mixpanel.track('event\u name',{})
之前执行了
mixpanel.opt\u out.tracking()
,那么!!测试===未定义

预期行为(以及在组件中使用时观察到的行为):

观察到的行为:

trackResponse === { event: 'asdf',
  properties:
   { '$browser': 'Safari',
     '$current_url': 'about:blank',
     '$browser_version': null,
     '$screen_height': 0,
     '$screen_width': 0,
     mp_lib: 'web',
     '$lib_version': '2.30.1',
     time: 1572898982.142,
     distinct_id: '[some_id]',
     '$device_id': '[some_id]',
     '$initial_referrer': '$direct',
     '$initial_referring_domain': '$direct',
     token: '[token]' } }
其中,[some_id]和[token]是我删除的一些不同的值

我不明白为什么在AVA测试中,当一个失败的
track()
导致一个未定义的响应时,我会收到一个响应。有人能帮我照一下吗


如果我需要提供任何其他信息,请告诉我。谢谢。

我想出来了,以防其他人遇到这个问题

我使用调试器进入
mixpanel.track()
调用,发现为了查看用户是否选择了退出,mixpanel检查
localStorage
中的一个属性,并比较它是否
==到“0”
。如果失败,则假定用户未选择退出,并按正常方式执行
track
调用

我猜在AVA测试期间,它无法访问此属性,并且假设用户没有选择退出。为了解决这个问题,在调用
mixpanel.init()
时,我添加了
opt\u-out\u-tracking\u-persistence\u-type:“cookie”
作为一个选项,以便我的
opt\u-out
调用被保存在某个可以在测试期间访问属性的地方

trackResponse === { event: 'asdf',
  properties:
   { '$browser': 'Safari',
     '$current_url': 'about:blank',
     '$browser_version': null,
     '$screen_height': 0,
     '$screen_width': 0,
     mp_lib: 'web',
     '$lib_version': '2.30.1',
     time: 1572898982.142,
     distinct_id: '[some_id]',
     '$device_id': '[some_id]',
     '$initial_referrer': '$direct',
     '$initial_referring_domain': '$direct',
     token: '[token]' } }