Morera's theorem, when properly(1) stated, is indeed the exact converse of Goursat's theorem.
Theorem (Morera): Let $\Omega\subset\mathbb{C}$ open, and $f\colon\Omega\to\mathbb{C}$ a continuous function. If for all triangles $T\subset\Omega$ whose interior is also contained in $\Omega$ $$\int_T f(z)\,dz = 0,$$ then $f$ is holomorphic in $\Omega$.
Instead of triangles, one could of course also use rectangles, or other polygons. And actually, we could drop the condition that the interior of the triangle be contained in $\Omega$ and be left with a still true, but arguably less useful result, since we would then have a sufficient but not necessary condition (consider $1/z$ on $\mathbb{C}\setminus \{0\}$ to have function satisfying the condition as stated, but not the stronger condition one obtains by dropping "whose interior is also contained in $\Omega$").
The condition entails the existence of local primitives of $f$, i.e. every $z\in \Omega$ has a neighbourhood $U$ such that $f = F'$ for a holomorphic function $F$ on $U$. Thus $f$ is holomorphic on $U$ (the derivative of a holomorphic function is again holomorphic), and since holomorphicity is a local property, $f$ is holomorphic on $\Omega$.
To establish the existence of local primitives, one considers (for example) for $z_0 \in \Omega$ a disk $U = D_r(z_0) \subset \Omega$, and on $U$ the function $F(z) = \int_{z_0}^z f(\zeta)\,d\zeta$. The vanishing of the integral of $f$ over triangles whose interior is contained in $\Omega$ then yields $F(z) - F(w) = \int_w^z f(\zeta)\,d\zeta$, from which $F' = f$ follows with the continuity of $f$.
(1) The term "properly" means "properly for this purpose", or "adequately to show it is the converse of Goursat's theorem" here. Stating it for simply connected domains or disks is not wrong.
There is one downside to stating it explicitly for simply connected domains, however. Often, people aren't aware of the local character of the theorem, and consider the simple connectedness as essential for the validity of the theorem. The essential point is the locality, that one considers not the entire domain $\Omega$, but a small convex neighbourhood $U\subset \Omega$ of a point $z\in \Omega$ to construct the local primitive.
Take an open disc around $z_0$. Then you can find $\varepsilon>0$ such that the closed path
$$ \gamma: \phi\in[0,2\pi] \mapsto z_0 + \varepsilon e^{i\phi}$$
is inside the disc.
Now note that
$$\oint_\gamma \bar z dz =
i \epsilon\int_0^{2\pi} (\bar z_0 + \epsilon e^{-i\phi}) e^{i\phi} d\phi
= i \epsilon^2 \int_0^{2\pi} d\phi = 2\pi i \epsilon^2 \ne0.$$
However, for $\bar z$ to have a primitive this integral should be $0$ as the path is closed.
Best Answer
It's not true that you need only consider triangles with one vertex $z_0$. Indeed those are not a problem: the integral over a triangle with one vertex $z_0$ is the limit of integrals over triangles that $z_0$ is outside of, which are $0$ by Cauchy.
But you can't use Cauchy/Goursat when $z_0$ is inside your triangle. To handle those, break up such a triangle into three triangles, each of which has $z_0$ at one vertex. The integral over your triangle is the sum of the integrals over the three sub-triangles (as the integrals over the interior edges cancel). And by the previous paragraph, the integrals over those triangles are $0$.