Javascript 酶摩卡:如何测试'img'标签是否具有非空的'alt'属性

Javascript 酶摩卡:如何测试'img'标签是否具有非空的'alt'属性,javascript,reactjs,mocha.js,enzyme,Javascript,Reactjs,Mocha.js,Enzyme,如果img的alt属性不存在或为空,如何编写失败的测试?感觉应该很简单,但我做不好 要测试的无状态组件(例如,为了方便起见,我对其进行了简化): const FeaturedProject=()=>( ) 这是我尝试过的,但是测试没有通过,尽管它应该通过 it('should have an img tag with src and alt properties', () => { const wrapper = shallow(<FeaturedProject />);

如果
img
alt
属性不存在或为空,如何编写失败的测试?感觉应该很简单,但我做不好

要测试的无状态组件(例如,为了方便起见,我对其进行了简化):

const FeaturedProject=()=>(
)
这是我尝试过的,但是测试没有通过,尽管它应该通过

it('should have an img tag with src and alt properties', () => {
  const wrapper = shallow(<FeaturedProject />);
  const { alt, src } = wrapper.find('img').props();
  assert.equal(wrapper.find('img').length, 1);
  assert.equal(alt.length, 1);
  assert.equal(src.length, 1);
});
it('应该有一个带有src和alt属性的img标记',()=>{
常量包装器=浅();
const{alt,src}=wrapper.find('img').props();
assert.equal(wrapper.find('img')。长度,1);
assert.equal(alt.length,1);
assert.equal(src.length,1);
});

如果有任何建议,我将不胜感激。

alt.length不应该是15而不是1吗?我
alt
字面意思是字符串“有意义的文本”?说得好,干杯。有没有办法测试任意字符串长度?
alt
内容可能会更改,而且可能会很长,因此我不想每次都手动计数。我会使用
greaterThan
,而不是
equal
,但是如果您忘记传递
alt
,它将是未定义的,因此您只需要声明定义了
alt
。请注意,空字符串
alt
实际上是装饰图像的好方法。谢谢您的建议。关于空
alt
字符串,我可以理解为什么在使用徽标时建议使用空字符串,但我问题中的情况不同。我明白了。然后简单地执行assert.ok(alt.length>8)<代码>断言。确定如果传入真实值,则通过测试。
it('should have an img tag with src and alt properties', () => {
  const wrapper = shallow(<FeaturedProject />);
  const { alt, src } = wrapper.find('img').props();
  assert.equal(wrapper.find('img').length, 1);
  assert.equal(alt.length, 1);
  assert.equal(src.length, 1);
});