mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Deployed 2363b390c9 to master with MkDocs 1.4.2 and mike 1.1.2
This commit is contained in:
1 parent
cbc5266a16
commit
a341140e98
35 files changed
+1808
-1808
No files matched your search
@@ -864,35 +864,35 @@ These components can be tested by popular React testing tools like <a href="http
|
||||
Just use <code>npm start</code> or <code>yarn test</code> to run the tests.</p>
|
||||
<p>For example, I have a component <code>GlobalPageMenuIcon</code> and want to test if <code>props.navigate</code> is called when user clicks the icon.</p>
|
||||
<p>My component <code>GlobalPageMenuIcon</code></p>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">import</span><span class="w"> </span><span class="nx">React</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"react"</span><span class="w"></span>
|
||||
<span class="k">import</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">Renderer</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"@k8slens/extensions"</span><span class="p">;</span><span class="w"></span>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">import</span><span class="w"> </span><span class="nx">React</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"react"</span>
|
||||
<span class="k">import</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">Renderer</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"@k8slens/extensions"</span><span class="p">;</span>
|
||||
|
||||
<span class="kd">const</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nx">Component</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nx">Icon</span><span class="p">,</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">},</span><span class="w"></span>
|
||||
<span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">Renderer</span><span class="p">;</span><span class="w"></span>
|
||||
<span class="kd">const</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nx">Component</span><span class="o">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nx">Icon</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="p">},</span>
|
||||
<span class="p">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">Renderer</span><span class="p">;</span>
|
||||
|
||||
<span class="kd">const</span><span class="w"> </span><span class="nx">GlobalPageMenuIcon</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">({</span><span class="w"> </span><span class="nx">navigate</span><span class="w"> </span><span class="p">}</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">navigate</span><span class="o">?:</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="ow">void</span><span class="w"> </span><span class="p">})</span><span class="o">:</span><span class="w"> </span><span class="nx">JSX</span><span class="p">.</span><span class="nx">Element</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">(</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="o"><</span><span class="nx">Icon</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nx">material</span><span class="o">=</span><span class="s2">"trip_origin"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nx">onClick</span><span class="o">=</span><span class="p">{()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">navigate</span><span class="p">()}</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nx">data</span><span class="o">-</span><span class="nx">testid</span><span class="o">=</span><span class="s2">"global-page-menu-icon"</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="o">/></span><span class="w"></span>
|
||||
<span class="p">)</span><span class="w"></span>
|
||||
<span class="kd">const</span><span class="w"> </span><span class="nx">GlobalPageMenuIcon</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">({</span><span class="w"> </span><span class="nx">navigate</span><span class="w"> </span><span class="p">}</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">navigate</span><span class="o">?:</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="ow">void</span><span class="w"> </span><span class="p">})</span><span class="o">:</span><span class="w"> </span><span class="nx">JSX</span><span class="p">.</span><span class="nx">Element</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="o"><</span><span class="nx">Icon</span>
|
||||
<span class="w"> </span><span class="nx">material</span><span class="o">=</span><span class="s2">"trip_origin"</span>
|
||||
<span class="w"> </span><span class="nx">onClick</span><span class="o">=</span><span class="p">{()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="nx">navigate</span><span class="p">()}</span>
|
||||
<span class="w"> </span><span class="nx">data</span><span class="o">-</span><span class="nx">testid</span><span class="o">=</span><span class="s2">"global-page-menu-icon"</span>
|
||||
<span class="w"> </span><span class="o">/></span>
|
||||
<span class="p">)</span>
|
||||
</code></pre></div>
|
||||
<p>The test</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">import</span><span class="w"> </span><span class="nx">React</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"react"</span><span class="w"></span>
|
||||
<span class="k">import</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">render</span><span class="p">,</span><span class="w"> </span><span class="nx">screen</span><span class="p">,</span><span class="w"> </span><span class="nx">fireEvent</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"@testing-library/react"</span><span class="p">;</span><span class="w"></span>
|
||||
<div class="highlight"><pre><span></span><code><span class="k">import</span><span class="w"> </span><span class="nx">React</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"react"</span>
|
||||
<span class="k">import</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">render</span><span class="p">,</span><span class="w"> </span><span class="nx">screen</span><span class="p">,</span><span class="w"> </span><span class="nx">fireEvent</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"@testing-library/react"</span><span class="p">;</span>
|
||||
|
||||
<span class="k">import</span><span class="w"> </span><span class="nx">GlobalPageMenuIcon</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"./GlobalPageMenuIcon"</span><span class="p">;</span><span class="w"></span>
|
||||
<span class="k">import</span><span class="w"> </span><span class="nx">GlobalPageMenuIcon</span><span class="w"> </span><span class="kr">from</span><span class="w"> </span><span class="s2">"./GlobalPageMenuIcon"</span><span class="p">;</span>
|
||||
|
||||
<span class="nx">test</span><span class="p">(</span><span class="s2">"click called navigate()"</span><span class="p">,</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">navigate</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">jest</span><span class="p">.</span><span class="nx">fn</span><span class="p">();</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nx">render</span><span class="p">(</span><span class="o"><</span><span class="nx">GlobalPageMenuIcon</span><span class="w"> </span><span class="nx">navigate</span><span class="o">=</span><span class="p">{</span><span class="nx">navigate</span><span class="p">}</span><span class="w"> </span><span class="o">/></span><span class="p">);</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nx">fireEvent</span><span class="p">.</span><span class="nx">click</span><span class="p">(</span><span class="nx">screen</span><span class="p">.</span><span class="nx">getByTestId</span><span class="p">(</span><span class="s2">"global-page-menu-icon"</span><span class="p">));</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nx">expect</span><span class="p">(</span><span class="nx">navigate</span><span class="p">).</span><span class="nx">toHaveBeenCalled</span><span class="p">();</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p">});</span><span class="w"></span>
|
||||
<span class="nx">test</span><span class="p">(</span><span class="s2">"click called navigate()"</span><span class="p">,</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">navigate</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">jest</span><span class="p">.</span><span class="nx">fn</span><span class="p">();</span>
|
||||
<span class="w"> </span><span class="nx">render</span><span class="p">(</span><span class="o"><</span><span class="nx">GlobalPageMenuIcon</span><span class="w"> </span><span class="nx">navigate</span><span class="o">=</span><span class="p">{</span><span class="nx">navigate</span><span class="p">}</span><span class="w"> </span><span class="o">/></span><span class="p">);</span>
|
||||
<span class="w"> </span><span class="nx">fireEvent</span><span class="p">.</span><span class="nx">click</span><span class="p">(</span><span class="nx">screen</span><span class="p">.</span><span class="nx">getByTestId</span><span class="p">(</span><span class="s2">"global-page-menu-icon"</span><span class="p">));</span>
|
||||
<span class="w"> </span><span class="nx">expect</span><span class="p">(</span><span class="nx">navigate</span><span class="p">).</span><span class="nx">toHaveBeenCalled</span><span class="p">();</span>
|
||||
<span class="w"> </span><span class="p">});</span>
|
||||
</code></pre></div>
|
||||
<p>In the example we used <a href="https://github.com/testing-library/react-testing-library">React Testing Library</a> but any React testing framework can be used to test renderer process UI components.</p>
|
||||
<p>There are more example tests in the generator's <a href="https://github.com/lensapp/generator-lens-ext/tree/main/generators/app/templates/ext-ts/components">template</a>.
|
||||
@@ -917,11 +917,11 @@ To use <code>console.log()</code>, note that Lens is based on Electron, and that
|
||||
<h4 id="linux">Linux<a class="headerlink" href="#linux" title="Permanent link">#</a></h4>
|
||||
<p>On Linux, you can access the Main process logs using the Lens PID.
|
||||
First get the PID:</p>
|
||||
<div class="highlight"><pre><span></span><code>ps aux <span class="p">|</span> grep Lens <span class="p">|</span> grep -v grep
|
||||
<div class="highlight"><pre><span></span><code>ps<span class="w"> </span>aux<span class="w"> </span><span class="p">|</span><span class="w"> </span>grep<span class="w"> </span>Lens<span class="w"> </span><span class="p">|</span><span class="w"> </span>grep<span class="w"> </span>-v<span class="w"> </span>grep
|
||||
</code></pre></div>
|
||||
<p>Then get the Main process logs using the PID:</p>
|
||||
<div class="highlight"><pre><span></span><code>tail -f /proc/<span class="o">[</span>pid<span class="o">]</span>/fd/1 <span class="c1"># stdout (console.log)</span>
|
||||
tail -f /proc/<span class="o">[</span>pid<span class="o">]</span>/fd/2 <span class="c1"># stdout (console.error)</span>
|
||||
<div class="highlight"><pre><span></span><code>tail<span class="w"> </span>-f<span class="w"> </span>/proc/<span class="o">[</span>pid<span class="o">]</span>/fd/1<span class="w"> </span><span class="c1"># stdout (console.log)</span>
|
||||
tail<span class="w"> </span>-f<span class="w"> </span>/proc/<span class="o">[</span>pid<span class="o">]</span>/fd/2<span class="w"> </span><span class="c1"># stdout (console.error)</span>
|
||||
</code></pre></div>
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user