我有文件main.js
和test.js
,其中包含已编译的clojurescript代码。
当我打开my-site.com/test
时,它会加载test.js
,这会在加载my-site.com/main
的页面中添加iframe,然后加载main.js
。然后test.js
会在iframe中使用my-site.com/main
测试各种用户互动。
问题是我正在使用React
,所以我需要模拟React
个事件。我使用这个iframe结构的部分原因是因为我了解到React.addons.TestUtils
没有加载到缩小的代码中。我认为,通过让test.js
不加精化,我可以使用其React.addons.TestUtils.Simulate
版本来模拟React
中的main.js
个事件,即使后者被缩小。我认为这可以让我测试生产代码。
我通过大量的试验和错误发现,当main.js
没有缩小时,我可以使用它的Simulate
版本就好了,但是当它缩小时,我就不能使用{来自Simulate
的{{1}}中的元素{1}}。{/}
我是对的吗?如果未在相关窗口中加载库,是否可以使用test.js
?是否有可能做我想做的事,或者有更好的方法吗?
答案 0 :(得分:0)
下班后'更多的反复试验,我终于发现我根本不需要使用start_date = '2016-06-01'
end_date = '2017-09-02'
allocation = 170000
#contains 100 symbols
usesymbols = ['']
cost_matrix = []
def data():
dates=pd.date_range(start_date,end_date)
df=pd.DataFrame(index=dates)
for symbol in usesymbols:
df_temp=pd.read_csv('/home/furqan/Desktop/python_data/{}.csv'.format(str(symbol)),usecols=['Date','Close'],
parse_dates=True,index_col='Date',na_values=['nan'])
df_temp = df_temp.rename(columns={'Close': symbol})
df=df.join(df_temp)
df=df.fillna(method='ffill')
df=df.fillna(method='bfill')
return df
def powerset(iterable):
s = list(iterable)
return chain.from_iterable(combinations(s, r) for r in range(1, len(s)+1))
power_set = list(powerset(usesymbols))
dataframe = data()
。我以前从未能够在我的ReactTestUtils.Simulate
DOM中触发事件,但事实证明,我需要做的就是在常规React
上设置bubbles: true
以触发相应的Event
{1}}事件。
此外,由于我试图模拟的事件是" keyup",我还发现我无法设置React
或which
属性keyCode
,至少在我的浏览器中KeyboardEvent
和which
are deprecated)。所以我不得不改变我的倾听者以寻找keyCode
而不是event.key
。 (我仍在寻找event.which
来容纳旧浏览器,但我先检查which
。
这有效:
key
希望这可以为别人带来一些麻烦!